In diesem Artikel erfahren Sie, wie Sie eine Pivot Tabelle in Excel erstellen und die Pivot Tabellendaten oder -elemente programmgesteuert in C# sortieren oder ausblenden, indem Sie Aspose.Cells for .NET – .NET API verwenden, um Excel-Tabellen zu erstellen und zu bearbeiten ohne dass Microsoft Excel erforderlich ist.

Pivot Tabellen in Excel

Die Dinge sind digital geworden und automatisierte Lösungen für die Erstellung und Bearbeitung von Excel-Tabellen sind weit verbreitet. Die Pivot Tabellen in Excel werden ausgiebig verwendet, um die Daten zusammenzufassen und zu analysieren. Während das Sortieren der Daten in den Pivot Tabellen sehr nützlich ist, um die riesigen Datenmengen in Excel-Tabellen kritisch zu untersuchen. Die Sortierung von Daten in Pivot Tabellen kann angewendet werden, um die Elemente alphabetisch (AZ oder ZA) für Textwerte oder vom höchsten zum niedrigsten oder niedrigsten zum höchsten Wert im Fall von Zahlen anzuordnen.

Basierend auf der Bedeutung von Excel-Pivot Tabellen soll dieser Artikel Ihnen zeigen, wie Sie:

  • Erstellen Sie eine Pivot Tabelle in Excel,
  • Pivot Tabelle nach Zeilenfeldwerten sortieren,
  • Pivot Tabelle nach Spaltenfeldwerten sortieren,
  • und Pivot Tabellenzeilen ausblenden.

Für die Demonstration wird die folgende Beispiel-Excel-Tabelle in den Beispielen verwendet.

Pivot Tabelle in Excel in C# erstellen

Erstellen Sie eine Pivot Tabelle in Excel mit C#

Sehen wir uns zunächst an, wie Sie mit Aspose.Cells for .NET eine Excel-Pivot Tabelle in C# erstellen. Sobald wir die Pivot Tabelle erstellt haben, blenden wir die Zeilen aus und sortieren die Daten basierend auf ihrer Spalte oder den Zeilenfeldern. Das folgende Codebeispiel zeigt, wie eine Excel-Pivot Tabelle erstellt wird.

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

// Abrufen der Referenz des neu hinzugefügten Arbeitsblatts
Worksheet sheet = wb.Worksheets[0];

PivotTableCollection pivotTables = sheet.PivotTables;

// Quelle PivotTable
// Hinzufügen einer PivotTable zum Arbeitsblatt
int index = pivotTables.Add("=Sheet1!A1:C10", "E3", "PivotTable2");

//Zugreifen auf die Instanz der neu hinzugefügten PivotTable
PivotTable pivotTable = pivotTables[index];

// Gesamtsummen für Zeilen nicht anzeigen.
pivotTable.RowGrand = false;
pivotTable.ColumnGrand = false;

// Ziehen Sie das erste Feld in den Zeilenbereich.
pivotTable.AddFieldToArea(PivotFieldType.Row, 1);
PivotField rowField = pivotTable.RowFields[0];
rowField.IsAutoSort = true;
rowField.IsAscendSort = true;

// Ziehen Sie das zweite Feld in den Spaltenbereich.
pivotTable.AddFieldToArea(PivotFieldType.Column, 0);
PivotField colField = pivotTable.ColumnFields[0];
colField.NumberFormat = "dd/mm/yyyy";
colField.IsAutoSort = true;
colField.IsAscendSort = true;

// Ziehen Sie das dritte Feld in den Datenbereich.
pivotTable.AddFieldToArea(PivotFieldType.Data, 2);

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

//Speichern der Excel Datei
wb.Save("output.xlsx");

Ausgabe

Erstellen Sie eine Pivot Tabelle in Excel in ASP.NET

Pivot Tabelle nach Zeilenfeldwerten in C# sortieren

Im vorherigen Abschnitt haben wir einfach die Pivot Tabelle mit den Daten in der Excel-Tabelle erstellt. Jetzt erstellen wir eine weitere Pivot Tabelle und wenden die Sortierung auf die Daten an. Das folgende Codebeispiel erstellt und sortiert die PivotTable nach Zeilenfeldwerten “SeaFood”.

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

// Abrufen der Referenz des Excel-Arbeitsblatts.
Worksheet sheet = wb.Worksheets[0];

PivotTableCollection pivotTables = sheet.PivotTables;

// Hinzufügen einer PivotTable zum Excel-Arbeitsblatt.
int index = pivotTables.Add("=Sheet1!A1:C10", "E3", "PivotTable2");

// Zugreifen auf die Instanz der neu hinzugefügten PivotTable.
PivotTable pivotTable = pivotTables[index];

// Gesamtsummen für Zeilen nicht anzeigen.
pivotTable.RowGrand = false;
pivotTable.ColumnGrand = false;

// Ziehen Sie das erste Feld in den Zeilenbereich.
pivotTable.AddFieldToArea(PivotFieldType.Row, 1);
PivotField rowField = pivotTable.RowFields[0];
rowField.IsAutoSort = true;
rowField.IsAscendSort = true;

// Ziehen Sie das zweite Feld in den Spaltenbereich.
pivotTable.AddFieldToArea(PivotFieldType.Column, 0);
PivotField colField = pivotTable.ColumnFields[0];
colField.NumberFormat = "dd/mm/yyyy";
colField.IsAutoSort = true;
colField.IsAscendSort = true;
colField.AutoSortField = 0;

// Ziehen Sie das dritte Feld in den Datenbereich.
pivotTable.AddFieldToArea(PivotFieldType.Data, 2);

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

// Speichern der Excel Datei.
wb.Save("output.xlsx");

Ausgabe

Erstellen und sortieren Sie eine Pivot Tabelle in Excel

Pivot Tabelle nach Spaltenfeldwerten in C# sortieren

Sie können die Daten in einer Pivot Tabelle auch nach den Spaltenfeldwerten sortieren. Das folgende C# Codebeispiel wendet die Sortierung auf Feldwerte der Spalte „28/07/2000“ an.

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

// Abrufen der Referenz des Excel-Arbeitsblatts.
Worksheet sheet = wb.Worksheets[0];

PivotTableCollection pivotTables = sheet.PivotTables;

// Hinzufügen einer PivotTable zum Excel-Arbeitsblatt.
int index = pivotTables.Add("=Sheet1!A1:C10", "E3", "PivotTable2");

// Zugreifen auf die Instanz der neu hinzugefügten PivotTable.
PivotTable pivotTable = pivotTables[index];

// Gesamtsummen für Zeilen nicht anzeigen.
pivotTable.RowGrand = false;
pivotTable.ColumnGrand = false;

// Ziehen Sie das erste Feld in den Zeilenbereich.
pivotTable.AddFieldToArea(PivotFieldType.Row, 1);
PivotField rowField = pivotTable.RowFields[0];
rowField.IsAutoSort = true;
rowField.IsAscendSort = true;
colField.AutoSortField = 0;

// Ziehen Sie das zweite Feld in den Spaltenbereich.
pivotTable.AddFieldToArea(PivotFieldType.Column, 0);
PivotField colField = pivotTable.ColumnFields[0];
colField.NumberFormat = "dd/mm/yyyy";
colField.IsAutoSort = true;
colField.IsAscendSort = true;

// Ziehen Sie das dritte Feld in den Datenbereich.
pivotTable.AddFieldToArea(PivotFieldType.Data, 2);

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

// Speichern der Excel Datei.
wb.Save("output.xlsx");

Ausgabe

Daten in Pivot Tabelle in Excel ausblenden

Pivot Tabellenzeilen in C# ausblenden

Sie können die Zeilen in der Excel-Pivot Tabelle basierend auf bestimmten Bedingungen ausblenden, die Sie anwenden möchten. Das folgende Codebeispiel zeigt, wie bestimmte Zeilen in der Pivot Tabelle mit C# ausgeblendet werden.

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;

// Werte absteigend sortieren
PivotField field = pivotTable.RowFields[0];
field.IsAutoSort = true;
field.IsAscendSort = false;
field.AutoSortField = 0;

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

// Ausblenden von Zeilen mit einem Wert kleiner als 15
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();

// Speichern der Excel Datei
workbook.Save("PivotTableHideAndSort.xlsx");

Werfen Sie einen Blick auf die Dokumentation von Aspose.Cells for .NET für weitere Details zur Arbeit mit Pivot Tabellen in Excel mit C# in jeder .NET-basierten Anwendung. Bei Fragen oder Unklarheiten erreichen Sie uns in unserem Forum.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit Pivot Tabellen in Excel Dateien mit C# arbeiten. Insbesondere haben Sie gesehen, wie Sie Pivot Tabellen erstellen und Daten in Pivot Tabellen in Excel mit C# sortieren oder ausblenden. Weitere Informationen zu Aspose.Cells for .NET finden Sie unter Dokumentation.

Siehe auch