Create Pivot Table

Introduction

Please use PivotTableCollection.Add() method to create a pivot table inside the worksheet. Once, the pivot table is created, you can work with it using the PivotTable class.

Create Pivot Table

The following sample code shows how to create a pivot table and work with it. Please check the output excel file generated with this code and the following screenshot showing the output excel file in Microsoft Excel.

todo:image_alt_text

Sample Code

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();