Questo breve tutorial guida su come creare una tabella pivot in Excel usando C#. Per creare una tabella pivot in modo programmatico, vengono forniti codice C# e una descrizione dettagliata in modo tale che alla fine otterrai un file XLSX (o XLS) contenente una tabella pivot senza utilizzare altri terzi -strumento per le feste. Contiene anche passaggi che guidano l’aggiunta di campi diversi in aree diverse nella tabella pivot.
Passaggi per creare una tabella pivot in C#
- Stabilisci l’ambiente per aggiungere Aspose.Cells for .NET dal gestore di pacchetti NuGet per la creazione di una tabella pivot
- Crea o carica un workbook esistente con dati per la tabella pivot
- Ottieni l’accesso alla destinazione worksheet in cui deve essere aggiunta la tabella pivot
- Crea una tabella pivot e ottieni la sua istanza per un’ulteriore elaborazione
- Configura la nuova tabella pivot e aggiungi campi diversi alla colonna, alla riga e all’area dati
- Salva la cartella di lavoro risultante contenente una tabella pivot
Dopo aver stabilito l’ambiente per C# Excel, la generazione della tabella pivot viene descritta qui in modo tale da creare qui una nuova cartella di lavoro con i dati hardcoded, tuttavia è possibile caricare un file Excel esistente contenente anche dati di destinazione. Nei passaggi successivi, descrive ulteriormente il processo di creazione di una tabella pivot e quindi la sua configurazione. Nei passaggi finali, diversi campi vengono aggiunti a diverse aree della tabella pivot come la colonna, la riga e i dati.
Codice per creare una tabella pivot in Excel usando 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"); | |
} | |
} | |
} |
Questo codice di esempio illustra come creare una tabella pivot in C# fornendo l’intervallo di dati e la cella di destinazione in cui posizionare la tabella pivot insieme al nome della tabella pivot. La classe pivotTable ha una funzione AddFieldToArea() che viene utilizzata per trascinare campi diversi in aree diverse utilizzando pivotFieldType come Colonna, Riga o Dati insieme al numero di campo nell’intervallo di dati selezionato. Se necessario, puoi anche utilizzare un’altra pagina pivotFieldType.
In questo articolo, abbiamo imparato a aggiungere la tabella pivot di Excel in C#. Se vuoi imparare a esportare i dati in un elenco in Excel, fai riferimento all’articolo su come esportare i dati dell’elenco in Excel in C#.