Créer un tableau croisé dynamique
Introduction
Veuillez utiliser la méthode PivotTableCollection.Add() pour créer un tableau croisé dynamique dans la feuille de calcul. Une fois le tableau croisé dynamique créé, vous pouvez travailler avec lui en utilisant la classe PivotTable.
Créer un tableau croisé dynamique
Le code d’exemple suivant montre comment créer un tableau croisé dynamique et travailler avec lui. Veuillez vérifier le fichier Excel de sortie généré avec ce code et la capture d’écran suivante montrant le fichier Excel de sortie dans Microsoft Excel.
Code d’exemple
Aspose::Cells::Startup(); | |
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
//Output directory path | |
U16String outPath(u"..\\Data\\Output\\"); | |
//Path of output excel file | |
U16String outputCreatePivotTable = outPath + u"outputCreatePivotTable.xlsx"; | |
//Load the sample excel file | |
Workbook wb; | |
//Access first worksheet | |
Worksheet ws = wb.GetWorksheets().Get(0); | |
//Add source data for pivot table | |
U16String str(u"Fruit"); | |
ws.GetCells().Get(u"A1").PutValue(str); | |
str = u"Quantity"; | |
ws.GetCells().Get(u"B1").PutValue(str); | |
str = u"Price"; | |
ws.GetCells().Get(u"C1").PutValue(str); | |
str = u"Apple"; | |
ws.GetCells().Get(u"A2").PutValue(str); | |
str = u"Orange"; | |
ws.GetCells().Get(u"A3").PutValue(str); | |
ws.GetCells().Get(u"B2").PutValue(3); | |
ws.GetCells().Get(u"B3").PutValue(4); | |
ws.GetCells().Get(u"C2").PutValue(2); | |
ws.GetCells().Get(u"C3").PutValue(1); | |
//Add pivot table | |
int idx = ws.GetPivotTables().Add(u"A1:C3", u"E5", u"MyPivotTable"); | |
//Access created pivot table | |
PivotTable pt = ws.GetPivotTables().Get(idx); | |
//Manipulate pivot table rows, columns and data fields | |
pt.AddFieldToArea(PivotFieldType::Row, pt.GetBaseFields().Get(0)); | |
pt.AddFieldToArea(PivotFieldType::Data, pt.GetBaseFields().Get(1)); | |
pt.AddFieldToArea(PivotFieldType::Data, pt.GetBaseFields().Get(2)); | |
pt.AddFieldToArea(PivotFieldType::Column, pt.GetDataField()); | |
//Set pivot table style | |
pt.SetPivotTableStyleType(PivotTableStyleType::PivotTableStyleMedium9); | |
//Save the output excel file | |
wb.Save(outputCreatePivotTable); | |
Aspose::Cells::Cleanup(); |