Bu makalede, Excel’de C# dilinde Pivot Tablo oluşturmayı öğreneceksiniz. Ayrıca, Microsoft Excel gerektirmeden Excel elektronik tabloları oluşturmak ve değiştirmek için bir .NET API’si olan Aspose.Cells for .NET kullanılarak Pivot Tablo verilerinin programlı olarak nasıl sıralanacağını veya gizleneceğini ele alacağız.

Excel’de Pivot Tablolar

Her şey dijital hale geldi ve Excel elektronik tablolarının oluşturulması ve işlenmesi için otomatikleştirilmiş çözümler yaygın olarak kullanılıyor. Excel’deki Pivot Tablolar, verileri özetlemek ve analiz etmek için yaygın olarak kullanılır. Pivot Tablolardaki verileri sıralamak, Excel elektronik tablolarındaki devasa verilerin kritik bir şekilde incelenmesi için çok yararlıdır. Pivot Tablolardaki verilerin sıralaması, metin değerleri için öğeleri alfabetik olarak (AZ veya ZA) veya sayılar olması durumunda en yüksekten en düşüğe veya en düşükten en yükseğe sıralamak için uygulanabilir.

Excel Pivot Tablolarının önemine dayalı olarak, bu makale size aşağıdakileri nasıl yapacağınızı göstermeyi amaçlamaktadır:

  • C# aracılığıyla Excel’de bir Pivot Tablo oluşturun,
  • Pivot Tabloyu satır alanı değerlerine göre sıralayın,
  • Pivot Tabloyu sütun alanı değerlerine göre sıralayın,
  • ve Pivot Tablo satırlarını gizleyin.

Gösterim için, örnekler boyunca aşağıdaki örnek Excel elektronik tablosu kullanılacaktır.

C# ile Excel'de Pivot Tablo Oluşturma

C# ile Excel’de Pivot Tablo Oluşturma

Önce Aspose.Cells for .NET kullanarak C# dilinde bir Excel Pivot Tablosu oluşturmayı görelim. Pivot Tabloyu oluşturduktan sonra, satırları gizleyip sütununa veya satır alanlarına göre verileri sıralayacağız. Aşağıdaki kod örneği, bir Excel Pivot Tablosunun nasıl oluşturulacağını gösterir.

Workbook wb = new Workbook("SampleExcel.xlsx");

// Yeni eklenen çalışma sayfasının referansını alma
Worksheet sheet = wb.Worksheets[0];

PivotTableCollection pivotTables = sheet.PivotTables;

// kaynak PivotTable
// Çalışma sayfasına PivotTable ekleme
int index = pivotTables.Add("=Sheet1!A1:C10", "E3", "PivotTable2");

//Yeni eklenen PivotTable örneğine erişme
PivotTable pivotTable = pivotTables[index];

// Satırlar için genel toplamlar gösterilmiyor.
pivotTable.RowGrand = false;
pivotTable.ColumnGrand = false;

// İlk alanı satır alanına sürüklemek.
pivotTable.AddFieldToArea(PivotFieldType.Row, 1);
PivotField rowField = pivotTable.RowFields[0];
rowField.IsAutoSort = true;
rowField.IsAscendSort = true;

// İkinci alanı sütun alanına sürüklemek.
pivotTable.AddFieldToArea(PivotFieldType.Column, 0);
PivotField colField = pivotTable.ColumnFields[0];
colField.NumberFormat = "dd/mm/yyyy";
colField.IsAutoSort = true;
colField.IsAscendSort = true;

// Üçüncü alanı veri alanına sürüklemek.
pivotTable.AddFieldToArea(PivotFieldType.Data, 2);

pivotTable.RefreshData();
pivotTable.CalculateData();
// end of kaynak PivotTable

//Excel dosyasını kaydetme
wb.Save("output.xlsx");

Çıktı

ASP.NET'te Excel'de Özet Tablo Oluşturma

C# Excel Pivot Tablosunu Satıra Göre Oluşturun ve Sıralayın

Önceki bölümde, Excel elektronik tablosundaki verileri kullanarak Pivot Tabloyu oluşturduk. Şimdi başka bir Pivot Tablo oluşturacağız ve sıralamayı verilere uygulayacağız. Aşağıdaki kod örneği, PivotTable’ı “Deniz Ürünleri” satır alanı değerlerine göre oluşturur ve sıralar.

Workbook wb = new Workbook("SampleExcel.xlsx");

// Excel çalışma sayfasının referansını alma.
Worksheet sheet = wb.Worksheets[0];

PivotTableCollection pivotTables = sheet.PivotTables;

// Excel çalışma sayfasına PivotTable ekleme.
int index = pivotTables.Add("=Sheet1!A1:C10", "E3", "PivotTable2");

// Yeni eklenen PivotTable örneğine erişme.
PivotTable pivotTable = pivotTables[index];

// Satırlar için genel toplamlar gösterilmiyor.
pivotTable.RowGrand = false;
pivotTable.ColumnGrand = false;

// İlk alanı satır alanına sürüklemek.
pivotTable.AddFieldToArea(PivotFieldType.Row, 1);
PivotField rowField = pivotTable.RowFields[0];
rowField.IsAutoSort = true;
rowField.IsAscendSort = true;

// İkinci alanı sütun alanına sürüklemek.
pivotTable.AddFieldToArea(PivotFieldType.Column, 0);
PivotField colField = pivotTable.ColumnFields[0];
colField.NumberFormat = "dd/mm/yyyy";
colField.IsAutoSort = true;
colField.IsAscendSort = true;
colField.AutoSortField = 0;

// Üçüncü alanı veri alanına sürüklemek.
pivotTable.AddFieldToArea(PivotFieldType.Data, 2);

pivotTable.RefreshData();
pivotTable.CalculateData();

// Excel dosyasını kaydetme.
wb.Save("output.xlsx");

Çıktı

Excel'de Pivot Tablo Oluşturma ve Sıralama

Excel Pivot Tablosunu C# ile Sütuna Göre Sıralama

Pivot Tablodaki verileri sütun alanı değerlerine göre de sıralayabilirsiniz. Aşağıdaki C# kod örneği, “28/07/2000” sütununun alan değerlerine göre sıralamayı uygular.

Workbook wb = new Workbook("SampleExcel.xlsx");

// Excel çalışma sayfasının referansını alma.
Worksheet sheet = wb.Worksheets[0];

PivotTableCollection pivotTables = sheet.PivotTables;

// Excel çalışma sayfasına PivotTable ekleme.
int index = pivotTables.Add("=Sheet1!A1:C10", "E3", "PivotTable2");

// Yeni eklenen PivotTable örneğine erişme.
PivotTable pivotTable = pivotTables[index];

// Satırlar için genel toplamlar gösterilmiyor.
pivotTable.RowGrand = false;
pivotTable.ColumnGrand = false;

// İlk alanı satır alanına sürüklemek.
pivotTable.AddFieldToArea(PivotFieldType.Row, 1);
PivotField rowField = pivotTable.RowFields[0];
rowField.IsAutoSort = true;
rowField.IsAscendSort = true;
colField.AutoSortField = 0;

// İkinci alanı sütun alanına sürüklemek.
pivotTable.AddFieldToArea(PivotFieldType.Column, 0);
PivotField colField = pivotTable.ColumnFields[0];
colField.NumberFormat = "dd/mm/yyyy";
colField.IsAutoSort = true;
colField.IsAscendSort = true;

// Üçüncü alanı veri alanına sürüklemek.
pivotTable.AddFieldToArea(PivotFieldType.Data, 2);

pivotTable.RefreshData();
pivotTable.CalculateData();

// Excel dosyasını kaydetme.
wb.Save("output.xlsx");

Çıktı

Excel'de Pivot Tablodaki Verileri Gizle

C# ile Excel’de Pivot Tablo Satırlarını Gizle

Uygulamak istediğiniz belirli koşullara göre Excel Pivot Tablosundaki satırları gizleyebilirsiniz. Aşağıdaki kod örneği, C# kullanılarak Pivot Tablodaki belirli satırların nasıl gizleneceğini gösterir.

Workbook workbook = new Workbook("output.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

var pivotTable = worksheet.PivotTables[0];
var dataBodyRange = pivotTable.DataBodyRange;
int currentRow = 1;
int rowsUsed = dataBodyRange.EndRow;

// Değerleri azalan sıralama
PivotField field = pivotTable.RowFields[0];
field.IsAutoSort = true;
field.IsAscendSort = false;
field.AutoSortField = 0;

pivotTable.RefreshData();
pivotTable.CalculateData();

// Değeri 15'ten küçük olan satırları gizleme
while (currentRow < rowsUsed)
{
	Cell cell = worksheet.Cells[currentRow, 2];
	double score = Convert.ToDouble(cell.Value);
	if (score < 15)
	{
		worksheet.Cells.HideRow(currentRow);
	}
	currentRow++;
}

pivotTable.RefreshData();
pivotTable.CalculateData();

// Excel dosyasını kaydetme
workbook.Save("PivotTableHideAndSort.xlsx");

Herhangi bir .NET tabanlı uygulamada C# kullanarak Excel’de Pivot Tablolarla nasıl çalışılacağı hakkında daha fazla ayrıntı için Aspose.Cells for .NET’in belgelerine bakın. Herhangi bir sorunuz olması durumunda bize forumumuzdan ulaşın.

Çözüm

Bu makalede, C# kullanarak Excel dosyalarında pivot tablo oluşturmayı öğrendiniz. Ayrıca, C# kullanarak Excel’de özet tablolardaki verileri nasıl sıralayacağınızı veya gizleyeceğinizi gördünüz. Aspose.Cells for .NET hakkında daha fazlasını documentation kullanarak keşfedebilirsiniz.

Ayrıca bakınız