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#
- Richten Sie die Umgebung zum Hinzufügen von Aspose.Cells for .NET aus dem NuGet-Paket-Manager zum Erstellen einer Pivot-Tabelle ein
- Erstellen oder laden Sie ein vorhandenes workbook mit Daten für die Pivot-Tabelle
- Erhalten Sie Zugriff auf das Ziel worksheet, wo die Pivot-Tabelle hinzugefügt werden soll
- Erstellen Sie eine Pivot-Tabelle und erhalten Sie ihre Instanz zur weiteren Verarbeitung
- Konfigurieren Sie die neue Pivot-Tabelle und fügen Sie dem Spalten-, Zeilen- und Datenbereich verschiedene Felder hinzu
- 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.