Insert Pivot Table
Contents
[
Hide
]
Create Pivot Table
It is possible to use Aspose.Cells to add pivot tables to spreadsheets programmatically.
Pivot Table Object Model
Aspose.Cells provides a special set of classes in the Aspose.Cells.Pivot namespace that are used to create and control pivot tables. These classes are used to create and set PivotTable objects, the building blocks of a pivot table. The objects are:
- PivotField represents a field in a PivotTable.
- PivotFieldCollection represents a collection of all the PivotField objects in the PivotTable.
- PivotTable represents a PivotTable on a worksheet.
- PivotTableCollection represents a collection of all the PivotTable objects on a worksheet.
Creating a Simple Pivot Table Using Aspose.Cells
- Add data to a worksheet using the Cell object’s PutValue method. This data will be used as the pivot table’s data source.
- Add a pivot table to the worksheet by calling the PivotTables collection’s add method, which is encapsulated in the Worksheet object.
- Access the new PivotTable object from the PivotTables collection by passing the PivotTable index.
- Use any of the PivotTable objects (explained above) to manage the pivot table.
After executing the example code, a pivot table is added to the worksheet.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Obtaining the reference of the newly added worksheet | |
Worksheet sheet = workbook.Worksheets[0]; | |
Cells cells = sheet.Cells; | |
// Setting the value to the cells | |
Cell cell = cells["A1"]; | |
cell.PutValue("Sport"); | |
cell = cells["B1"]; | |
cell.PutValue("Quarter"); | |
cell = cells["C1"]; | |
cell.PutValue("Sales"); | |
cell = cells["A2"]; | |
cell.PutValue("Golf"); | |
cell = cells["A3"]; | |
cell.PutValue("Golf"); | |
cell = cells["A4"]; | |
cell.PutValue("Tennis"); | |
cell = cells["A5"]; | |
cell.PutValue("Tennis"); | |
cell = cells["A6"]; | |
cell.PutValue("Tennis"); | |
cell = cells["A7"]; | |
cell.PutValue("Tennis"); | |
cell = cells["A8"]; | |
cell.PutValue("Golf"); | |
cell = cells["B2"]; | |
cell.PutValue("Qtr3"); | |
cell = cells["B3"]; | |
cell.PutValue("Qtr4"); | |
cell = cells["B4"]; | |
cell.PutValue("Qtr3"); | |
cell = cells["B5"]; | |
cell.PutValue("Qtr4"); | |
cell = cells["B6"]; | |
cell.PutValue("Qtr3"); | |
cell = cells["B7"]; | |
cell.PutValue("Qtr4"); | |
cell = cells["B8"]; | |
cell.PutValue("Qtr3"); | |
cell = cells["C2"]; | |
cell.PutValue(1500); | |
cell = cells["C3"]; | |
cell.PutValue(2000); | |
cell = cells["C4"]; | |
cell.PutValue(600); | |
cell = cells["C5"]; | |
cell.PutValue(1500); | |
cell = cells["C6"]; | |
cell.PutValue(4070); | |
cell = cells["C7"]; | |
cell.PutValue(5000); | |
cell = cells["C8"]; | |
cell.PutValue(6430); | |
Aspose.Cells.Pivot.PivotTableCollection pivotTables = sheet.PivotTables; | |
// Adding a PivotTable to the worksheet | |
int index = pivotTables.Add("=A1:C8", "E3", "PivotTable2"); | |
// Accessing the instance of the newly added PivotTable | |
Aspose.Cells.Pivot.PivotTable pivotTable = pivotTables[index]; | |
// Unshowing grand totals for rows. | |
pivotTable.RowGrand = false; | |
// Draging the first field to the row area. | |
pivotTable.AddFieldToArea(Aspose.Cells.Pivot.PivotFieldType.Row, 0); | |
// Draging the second field to the column area. | |
pivotTable.AddFieldToArea(Aspose.Cells.Pivot.PivotFieldType.Column, 1); | |
// Draging the third field to the data area. | |
pivotTable.AddFieldToArea(Aspose.Cells.Pivot.PivotFieldType.Data, 2); | |
// Saving the Excel file | |
workbook.Save(dataDir + "pivotTable_test_out.xls"); |
When assigning a range of cells as the data source, the range must go from top left to bottom right. For example, “A1:C3” is valid but “C3:A1” is not.
Advance topics
- Consolidation Function
- Custom sorting in Pivot Table
- Customize Globalization Settings for Pivot Table
- Disable Pivot Table Ribbons
- Find and Refresh the Nested or Children Pivot Tables of Parent Pivot Table
- Formatting Pivot Table
- Get External Connection Data Source of Pivot Table
- Get Pivot Table refresh date and refresh by who information
- Group Pivot Fields in the Pivot Table
- Parsing Pivot Cached Records while loading Excel file
- Pivot Table and Source Data
- Pivot Table Hide and Sort data
- Refresh and Calculate Pivot Table having Calculated Items
- Save Pivot Table in ODS file
- Show report filter pages option
- Working with data display formats of DataField in Pivot Table