C#'ta Excel Dosyası Nasıl Oluşturulur

Excel'de C# ile Donmuş Kenar Çubuğu Nasıl Eklenir

This article was translated from English: Does it need improvement?
Translated
View the article in English

'Z' harfinden sonraki 50'den fazla satır veya sütuna sahip büyük Excel elektronik tablolarında, verileri görüntülemek ve başlıkları görünür tutmak zorlayıcı hale gelir. C#'ta Donmuş Kenar Çubuğu işlevselliği, belirli satır ve sütunları yerinde kilitleyerek geri kalanını serbestçe kaydırabilecek bir çözüm sunar.

Bu özellik, finansal raporlar, çalışan veritabanları veya sürekli sütun başlıkları veya satır tanımlayıcılarının görünürlüğünün gerektiği envanter listeleri ile çalışırken gerekli hale gelir. IronXL'in Excel kütüphanesi ile, verileri daha iyi gezinme ve kullanıcı deneyimi sağlamak için .NET uygulamalarınızda dondurulmuş kenar çubuklarını programlı olarak ekleyebilirsiniz.

Hızlı Başlangıç: Bir Satırda Başlık Satırlarını ve Sütunlarını Kilitle

Satırları veya sütunları saniyeler içinde dondurmak için basit CreateFreezePane(colSplit, rowSplit) metodunu kullanın. Karmaşık bir kurulum yok — sadece sayfanızı yükleyin, bu yöntemi çağırın ve kaydırırken başlıklarınız üstte kilitli kalır.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronXl.Excel yükleyin

    PM > Install-Package IronXl.Excel
  2. Bu kod parçasını kopyalayıp çalıştırın.

    workSheet.CreateFreezePane(1, 4);
  3. Canlı ortamınızda test etmek için dağıtın

    Bugün projenizde IronXL kullanmaya başlayın ücretsiz deneme ile

    arrow pointer


Excel'de Donmuş Kenar Çubuğu Nasıl Eklenir?

Donmuş kenar çubukları, satır ve sütunları yerinde kilitleyerek kaydırırken görünmelerini sağlar. Bu özellik, bilgi karşılaştırmasını hızlandırarak başlık sütunlarını veya satırlarını yerinde tutar. Bu işlevsellik, büyük veri kümeleri ile çalışırken veya geniş elektronik tablolar arasında gezinirken bağlamın korunması gerektiğinde özellikle değerlidir.

IronXL'deki donmuş kenar çubuğu özelliği, Excel'in yerel işlevselliğini taklit ederek Excel'in ara yüzüne aşina olan geliştiriciler için sezgisel hale getirir. Excel Interop çözümlerinin aksine, IronXL, pencere bölmelerini programlamayla sabitlemek için daha verimli ve sunucu dostu bir yaklaşım sunar.

2 Parametre ile CreateFreezePane Nasıl Çalışır?

Bir donma bölmesi eklemek için, donma bölmesinin başlaması gerektiği sütun ve satırı belirterek CreateFreezePane metodunu kullanın. Belirtilen sütun ve satır, pencere bölmesine dahil edilmez. Örneğin, workSheet.CreateFreezePane(1, 4) A sütunu ve 1'den 4'e kadar satırlar başlayacak şekilde bir donma bölmesi oluşturur.

Sıfır tabanlı indekslemenin anlaşılması çok önemlidir: sütun 0, A sütununa; sütun 1, B sütununa karşılık gelir. Satır indekslemesi de aynı şekilde işler. Bu yöntem, başlıkları veri girişlerinde gezinirken görünür tutmak istediğiniz senaryolar için mükemmeldir.

Aşağıdaki kod örneği, B sütunundan ve 4. satırdan başlayan bir pencere bölmesinin nasıl oluşturulduğunu göstermektedir:

:path=/static-assets/excel/content-code-examples/how-to/add-freeze-panes-add.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Create freeze pane from column(A-B) and row(1-3)
workSheet.CreateFreezePane(2, 3);

workBook.SaveAs("createFreezePanes.xlsx");
Imports IronXL
Imports System.Linq

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.WorkSheets.First()

' Create freeze pane from column(A-B) and row(1-3)
workSheet.CreateFreezePane(2, 3)

workBook.SaveAs("createFreezePanes.xlsx")
$vbLabelText   $csharpLabel

Pencere Bölmesi Faaliyette Nasıl Görünür?

Freeze Pane in Action

Pencere Bölmesini Nasıl Kaldırırım?

Elektronik tablonuzdaki mevcut tüm donma bölmelerini kaldırmak için RemovePane metodunu kullanın. Bu, görünümü sıfırlamanız veya kullanıcı tercihleri ​​veya veri değişikliklerine göre farklı sabitleme ayarları uygulamanız gerektiğinde faydalıdır.

:path=/static-assets/excel/content-code-examples/how-to/add-freeze-panes-remove.cs
// Remove all existing freeze or split pane
workSheet.RemovePane();
' Remove all existing freeze or split pane
workSheet.RemovePane()
$vbLabelText   $csharpLabel

Gelişmiş Pencere Bölmesi Seçenekleri Nelerdir?

CreateFreezePane metodu, ön kaydırma işlevselliği ile donma bölmeleri oluşturmak için gelişmiş bir seçenek sunar. Bu özellik, pencere bölmesi işlevselliğini korurken elektronik tablonun belirli bir alanına odaklanmak istediğinizde kullanışlıdır.

Gelişmiş Pencere Bölmeleri için Ne Zaman 4 Parametre Kullanmalıyım?

Bu yöntem, belirtilen başlangıç sütunu ve sırasına dayalı olarak bir pencere bölmesi eklemenize olanak tanır. Ayrıca, çalışma sayfasına kaydırma uygulamanızı sağlar. Bu, biçimlendirilmiş Excel raporları üzerinde çalışırken, ilk görünüm üzerinde hassas kontrol gerektiğinde özellikle faydalıdır.

Örneğin, workSheet.CreateFreezePane(5, 2, 6, 7) kullanarak, A-E sütunları ve 1-2 satırları kapsayan bir donma bölmesi oluşturur. 1 sütun ve 5 satır kaydırma içerir. Çalışma sayfası açıldığında, A-E, G-... sütunlarını ve 1-2, 8-... satırlarını gösterir.

:path=/static-assets/excel/content-code-examples/how-to/add-freeze-panes-advance.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Overwriting freeze or split pane to column(A-E) and row(1-5) as well as applying prescroll
// The column will show E,G,... and the row will show 5,8,...
workSheet.CreateFreezePane(5, 5, 6, 7);

workBook.SaveAs("createFreezePanes.xlsx");
Imports IronXL
Imports System.Linq

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.WorkSheets.First()

' Overwriting freeze or split pane to column(A-E) and row(1-5) as well as applying prescroll
' The column will show E,G,... and the row will show 5,8,...
workSheet.CreateFreezePane(5, 5, 6, 7)

workBook.SaveAs("createFreezePanes.xlsx")
$vbLabelText   $csharpLabel

Gelişmiş Pencere Bölmesi Nasıl Görünür?

Çalışan verileri, dondurulmuş başlıklar ve ID sütunu ile Excel pencere bölmeleri demosu, mavi ok dondurma sınırını gösterir.

Pencere Bölmelerinin Pratik Kullanım Alanları

Pencere bölmeleri çeşitli iş senaryolarında değerlidir:

  1. Finansal Raporlar: Aylık/çeyreklik başlıklar görünür kalırken yıllık verilere göz atın
  2. Çalışan Veritabanları: Performans metriklerini incelerken çalışan isimlerini ve ID'lerini kilitleyin
  3. Envanter Yönetimi: Stok seviyelerini incelerken ürün kodlarını ve isimlerini sabitleyin
  4. Satış Panoları: Bölgesel satış verilerini analiz ederken ürün kategorilerinin görünürlüğünü koruyun

Excel formülleri ile birleştirildiğinde, pencere bölmeleri veri analizi verimliliğini önemli ölçüde artırır.

Tam Örnek: Pencere Bölmeleri ile Bir Veri Raporu Oluşturma

İşte, pencere bölmeleri ile biçimlendirilmiş bir raporun nasıl oluşturulduğunu gösteren kapsamlı bir örnek:

using IronXL;
using IronXl.Styles;

// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("Sales Report");

// Add headers
workSheet["A1"].Value = "Product ID";
workSheet["B1"].Value = "Product Name";
workSheet["C1"].Value = "Q1 Sales";
workSheet["D1"].Value = "Q2 Sales";
workSheet["E1"].Value = "Q3 Sales";
workSheet["F1"].Value = "Q4 Sales";
workSheet["G1"].Value = "Total";

// Style headers
var headerRange = workSheet["A1:G1"];
headerRange.Style.Font.Bold = true;
headerRange.Style.BackgroundColor = "#4472C4";
headerRange.Style.Font.Color = "#FFFFFF";

// Add sample data
for (int i = 2; i <= 50; i++)
{
    workSheet[$"A{i}"].Value = $"P{i-1:D3}";
    workSheet[$"B{i}"].Value = $"Product {i-1}";
    workSheet[$"C{i}"].Value = Random.Shared.Next(1000, 5000);
    workSheet[$"D{i}"].Value = Random.Shared.Next(1000, 5000);
    workSheet[$"E{i}"].Value = Random.Shared.Next(1000, 5000);
    workSheet[$"F{i}"].Value = Random.Shared.Next(1000, 5000);
    workSheet[$"G{i}"].Formula = $"=SUM(C{i}:F{i})";
}

// Apply freeze pane to keep headers visible
workSheet.CreateFreezePane(0, 1);

// Auto-size columns for better visibility
workSheet.AutoSizeColumn(0, 6);

// Save the workbook
workBook.SaveAs("SalesReportWithFreezePanes.xlsx");
using IronXL;
using IronXl.Styles;

// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("Sales Report");

// Add headers
workSheet["A1"].Value = "Product ID";
workSheet["B1"].Value = "Product Name";
workSheet["C1"].Value = "Q1 Sales";
workSheet["D1"].Value = "Q2 Sales";
workSheet["E1"].Value = "Q3 Sales";
workSheet["F1"].Value = "Q4 Sales";
workSheet["G1"].Value = "Total";

// Style headers
var headerRange = workSheet["A1:G1"];
headerRange.Style.Font.Bold = true;
headerRange.Style.BackgroundColor = "#4472C4";
headerRange.Style.Font.Color = "#FFFFFF";

// Add sample data
for (int i = 2; i <= 50; i++)
{
    workSheet[$"A{i}"].Value = $"P{i-1:D3}";
    workSheet[$"B{i}"].Value = $"Product {i-1}";
    workSheet[$"C{i}"].Value = Random.Shared.Next(1000, 5000);
    workSheet[$"D{i}"].Value = Random.Shared.Next(1000, 5000);
    workSheet[$"E{i}"].Value = Random.Shared.Next(1000, 5000);
    workSheet[$"F{i}"].Value = Random.Shared.Next(1000, 5000);
    workSheet[$"G{i}"].Formula = $"=SUM(C{i}:F{i})";
}

// Apply freeze pane to keep headers visible
workSheet.CreateFreezePane(0, 1);

// Auto-size columns for better visibility
workSheet.AutoSizeColumn(0, 6);

// Save the workbook
workBook.SaveAs("SalesReportWithFreezePanes.xlsx");
Imports IronXL
Imports IronXl.Styles

' Create a new workbook
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Sales Report")

' Add headers
workSheet("A1").Value = "Product ID"
workSheet("B1").Value = "Product Name"
workSheet("C1").Value = "Q1 Sales"
workSheet("D1").Value = "Q2 Sales"
workSheet("E1").Value = "Q3 Sales"
workSheet("F1").Value = "Q4 Sales"
workSheet("G1").Value = "Total"

' Style headers
Dim headerRange = workSheet("A1:G1")
headerRange.Style.Font.Bold = True
headerRange.Style.BackgroundColor = "#4472C4"
headerRange.Style.Font.Color = "#FFFFFF"

' Add sample data
For i As Integer = 2 To 50
    workSheet($"A{i}").Value = $"P{i - 1:D3}"
    workSheet($"B{i}").Value = $"Product {i - 1}"
    workSheet($"C{i}").Value = Random.Shared.Next(1000, 5000)
    workSheet($"D{i}").Value = Random.Shared.Next(1000, 5000)
    workSheet($"E{i}").Value = Random.Shared.Next(1000, 5000)
    workSheet($"F{i}").Value = Random.Shared.Next(1000, 5000)
    workSheet($"G{i}").Formula = $"=SUM(C{i}:F{i})"
Next

' Apply freeze pane to keep headers visible
workSheet.CreateFreezePane(0, 1)

' Auto-size columns for better visibility
workSheet.AutoSizeColumn(0, 6)

' Save the workbook
workBook.SaveAs("SalesReportWithFreezePanes.xlsx")
$vbLabelText   $csharpLabel

Bu örnek, hücre stili ve formüller ile pencere bölmelerinin nasıl profesyonel raporlar oluşturduğunu gösterir. Kullanıcılar, 50 satırlık satış verilerinde gezinirken başlık satırı görünür kalır.

Performans Dikkat Edilecek Noktalar

Büyük elektronik tablolarda pencere bölmeleri uygularken:

  • Optimal performans için veriler doldurulduktan sonra pencere bölmeleri uygulayın
  • Dondurulmuş bölümlerde önemli verileri vurgulamak için koşullu biçimlendirme kullanmayı düşünün
  • Hedef veri hacminizle test ederek düzgün kaydırma performansını sağlayın

Geniş veri kümelerini işleyen uygulamalar için, farklı formatlara dönüştürmeyi veya pencere bölmeleri ile birlikte sayfa numaralandırma stratejilerini uygulamayı keşfedin.

Lütfen dikkate alinSadece tek bir pencere bölmesi ayarı uygulanabilir. Herhangi bir ek pencere bölmesi oluşturulması, önceki ayarı geçersiz kılacaktır. Pencere bölmesi, Microsoft Excel 97-2003 (.xls) sürümleri ile çalışmaz.

Sıkça Sorulan Sorular

Donmuş pano özelliği nedir ve Excel hesap tablolarında neden faydalıdır?

Donmuş pano özelliği belirli satır ve sütunları yerinde kilitler ve büyük hesap tablolarında gezinirken görünür kalmasını sağlar. Bu, finansal raporlar, çalışan veritabanları veya envanter listelerinde başlık görünürlüğünü korumak için özellikle faydalıdır. IronXL, bu işlevselliği C# uygulamalarında programlı olarak uygulamak için basit bir CreateFreezePane yöntemi sağlar.

C# ile başlık satırlarını hızla nasıl donmuş panolar eklerim?

IronXL ile, CreateFreezePane yöntemini kullanarak yalnızca bir satır kodla başlık satırlarını kilitleyebilirsiniz. Sadece workSheet.CreateFreezePane(1, 4) çağırarak sütunları ve satırları dondurun. Bu, sütun A'yı ve satırları 1-4 yerinde kilitlerken hesap tablosunun geri kalanının serbestçe kaymasını sağlar.

CreateFreezePane ile 2 parametre kullanmak ile 4 parametre kullanmak arasındaki fark nedir?

IronXL'nin CreateFreezePane yöntemi iki seçenek sunar: 2 parametre (colSplit, rowSplit) kullanarak belirtilen konumdan temel bir donmuş pano yaratır, 4 parametre kullanmak ise daha gelişmiş bir kontrol için önceden kaydırılmış konumla donmuş pano eklemenizi sağlar.

Donmuş panolar ayarlanırken sıfırdan başlayan indeksleme nasıl çalışır?

IronXL'nin CreateFreezePane yönteminde indeksleme sıfırdan başlar. Sütun 0 sütun A'ya, sütun 1 sütun B'ye vb. atıfta bulunur. Benzer şekilde, satır indeksleme 0'dan başlar. Örneğin, CreateFreezePane(1, 4) sütun A'dan başlayan ve satırları 1'den 4'e kadar olan bir donmuş pano oluşturur.

Donmuş panolar için Excel Interop yerine bu kütüphaneyi neden kullanmalıyım?

IronXL, Excel Interop çözümlerine kıyasla daha verimli ve sunucu dostu bir yaklaşım sunar. Sunucuda Excel kurulumu gerektirmez, büyük veri setleri için daha iyi performans sağlar ve Excel'in yerel işlevselliğini taklit eden, .NET uygulamaları için optimize edilmiş sezgisel bir API sunar.

Donmuş panolarla hesap tablolarını farklı dosya formatlarına dışa aktarabilir miyim?

Evet, IronXL'nin CreateFreezePane yöntemi ile donmuş panolar ekledikten sonra, hesap tablonuzu farklı dosya formatlarına dışa aktarırken donmuş pano işlevselliğini koruyabilirsiniz. Kütüphane, desteklenen Excel formatlarına kaydederken bu ayarları korur.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 1,974,422 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronXl.Excel
bir örnek çalıştırın verilerinizin bir elektronik tabloya dönüştüğünü izleyin.