So erstellen Sie eine Pivot-Tabelle in Excel mit C#

Dieses kurze Tutorial zeigt, wie man mit C# eine Pivot-Tabelle in Excel erstellt. Um Pivot-Tabellen programmgesteuert zu erstellen, werden C#-Code und eine detaillierte Beschreibung bereitgestellt, sodass Sie am Ende eine XLSX (oder XLS)-Datei mit einer Pivot-Tabelle erhalten, ohne ein anderes Drittel zu verwenden -Party-Tool. Es enthält auch Schritte, die das Hinzufügen verschiedener Felder zu verschiedenen Bereichen in der Pivot-Tabelle anleiten.

Schritte zum Erstellen einer Pivot-Tabelle in C#

  1. Richten Sie die Umgebung zum Hinzufügen von Aspose.Cells for .NET aus dem NuGet-Paket-Manager zum Erstellen einer Pivot-Tabelle ein
  2. Erstellen oder laden Sie ein vorhandenes workbook mit Daten für die Pivot-Tabelle
  3. Erhalten Sie Zugriff auf das Ziel worksheet, wo die Pivot-Tabelle hinzugefügt werden soll
  4. Erstellen Sie eine Pivot-Tabelle und erhalten Sie ihre Instanz zur weiteren Verarbeitung
  5. Konfigurieren Sie die neue Pivot-Tabelle und fügen Sie dem Spalten-, Zeilen- und Datenbereich verschiedene Felder hinzu
  6. Speichern Sie die resultierende Arbeitsmappe mit einer Pivot-Tabelle darin

Nach dem Einrichten der Umgebung für die Generierung von C#-Excel-Pivot-Tabellen wird hier beschrieben, dass wir hier eine neue Arbeitsmappe mit den hartcodierten Daten erstellen, Sie können jedoch eine vorhandene Excel-Datei laden, die auch Zieldaten enthält. In den nächsten Schritten wird der Prozess der Erstellung einer PivotTable und dann ihre Konfiguration weiter beschrieben. In den letzten Schritten werden verschiedene Felder zu verschiedenen Bereichen in der Pivot-Tabelle wie Spalte, Zeile und Daten hinzugefügt.

Code zum Erstellen einer Pivot-Tabelle in Excel mit C#

using System.IO;
using System.Text;
using Aspose.Cells;
namespace CreatePivotTableInExcelUsingCSharp
{
class Program
{
static void Main(string[] args) // Main function to set width of cell in CSharp
{
// Instantiate the license to remove trial version watermark in the output Excel file
Aspose.Cells.License licForCells= new Aspose.Cells.License();
licForCells.SetLicense("Aspose.Cells.lic");
// Set the hard-coded data. You may use an existing Excel file also if required
byte[] SrcDataByteArray = Encoding.ASCII.GetBytes(
$@"City,Product,Sales
Paris,Cream,2300
Paris,Lotion,1600
Tunis,Cream,900
Tunis,Lotion,1400
Tunis,Cream,3090
Tunis,Lotion,6000
Paris,Cream,4320" );
// Create a memory stream from the source data
MemoryStream dataStream = new MemoryStream( SrcDataByteArray );
// Create LoadOptions class object to load the comma-separated data given above
LoadOptions loadOptions = new LoadOptions(LoadFormat.Csv);
// Instantiate a workbook class object having above mentioned data
Workbook wbCSV = new Workbook(dataStream, loadOptions);
// Get access to the first worksheet in the collection
Worksheet targetSheet = wbCSV.Worksheets[0];
// Get collection of pivot tables in the target worksheet
Aspose.Cells.Pivot.PivotTableCollection pvTablesCollection = targetSheet.PivotTables;
// Get pivot table index after adding a new pivot table by provding source data range and destination cell
int iNewPivotTable = pvTablesCollection.Add("=A1:C8", "F3", "MyPivotTable");
// Get the instance of newly added pivot table for further processing
Aspose.Cells.Pivot.PivotTable newPivotTable = pvTablesCollection[iNewPivotTable];
// Hide the grand total for rows in the output Excel file
newPivotTable.RowGrand = false;
// Add the first field to the column area
newPivotTable.AddFieldToArea(Aspose.Cells.Pivot.PivotFieldType.Column, 0);
// Add the second field to the row area
newPivotTable.AddFieldToArea(Aspose.Cells.Pivot.PivotFieldType.Row, 1);
// Add the third field to the data area
newPivotTable.AddFieldToArea(Aspose.Cells.Pivot.PivotFieldType.Data, 2);
// Saving the output Excel file with pivot table
wbCSV.Save("OutputPivotTable.xlsx");
System.Console.WriteLine("Done");
}
}
}

Dieser Beispielcode zeigt, wie Sie eine Pivot-Tabelle in C# erstellen, indem Sie den Datenbereich und die Zielzelle angeben, in der die Pivot-Tabelle zusammen mit dem Namen der Pivot-Tabelle platziert werden soll. Die PivotTable-Klasse verfügt über eine Funktion AddFieldToArea(), die verwendet wird, um verschiedene Felder mithilfe von PivotFieldType wie Column, Row oder Data zusammen mit der Feldnummer im ausgewählten Datenbereich in verschiedene Bereiche zu ziehen. Sie können bei Bedarf auch eine andere pivotFieldType-Seite verwenden.

In diesem Artikel haben wir gelernt, Excel-Pivot-Tabellen in C# hinzuzufügen. Wenn Sie lernen möchten, wie Sie Daten in einer Liste nach Excel exportieren, lesen Sie den Artikel zu wie man Listendaten in C# nach Excel exportiert.

 Deutsch