Crear una tabla dinámica

Crear una tabla dinámica

Aspose.Cells for Python via Java proporciona la función para crear tablas dinámicas. Para crear una tabla dinámica usando Aspose.Cells, sigue los siguientes pasos:

  1. Agrega algunos datos a las celdas de la hoja de trabajo utilizando la propiedad setValue del objeto Cell. Estos datos se utilizarán como fuente de datos para la tabla dinámica.
  2. Agrega una tabla dinámica a la hoja de trabajo llamando al método add de PivotTableCollection, encapsulado en el objeto Worksheet.
  3. Accede al objeto PivotTable desde PivotTableCollection pasando el índice de PivotTable.
  4. Utiliza cualquiera de los objetos de tabla dinámica (explicados arriba) encapsulados en PivotTableCollection para gestionar la tabla dinámica.

El siguiente fragmento de código demuestra cómo crear una tabla dinámica con la API de Aspose.Cells.

output_directory = "Examples/SampleFiles/OutputDirectory/"
# Instantiating a Workbook object
workbook = Workbook()
# Obtaining the reference of the newly added worksheet
sheetIndex = workbook.getWorksheets().add()
worksheet = workbook.getWorksheets().get(sheetIndex)
cells = worksheet.getCells()
# Setting the value to the cells
cell = cells.get("A1")
cell.setValue("Sport")
cell = cells.get("B1")
cell.setValue("Quarter")
cell = cells.get("C1")
cell.setValue("Sales")
cell = cells.get("A2")
cell.setValue("Golf")
cell = cells.get("A3")
cell.setValue("Golf")
cell = cells.get("A4")
cell.setValue("Tennis")
cell = cells.get("A5")
cell.setValue("Tennis")
cell = cells.get("A6")
cell.setValue("Tennis")
cell = cells.get("A7")
cell.setValue("Tennis")
cell = cells.get("A8")
cell.setValue("Golf")
cell = cells.get("B2")
cell.setValue("Qtr3")
cell = cells.get("B3")
cell.setValue("Qtr4")
cell = cells.get("B4")
cell.setValue("Qtr3")
cell = cells.get("B5")
cell.setValue("Qtr4")
cell = cells.get("B6")
cell.setValue("Qtr3")
cell = cells.get("B7")
cell.setValue("Qtr4")
cell = cells.get("B8")
cell.setValue("Qtr3")
cell = cells.get("C2")
cell.setValue(1500)
cell = cells.get("C3")
cell.setValue(2000)
cell = cells.get("C4")
cell.setValue(600)
cell = cells.get("C5")
cell.setValue(1500)
cell = cells.get("C6")
cell.setValue(4070)
cell = cells.get("C7")
cell.setValue(5000)
cell = cells.get("C8")
cell.setValue(6430)
pivotTables = worksheet.getPivotTables()
# Adding a PivotTable to the worksheet
index = pivotTables.add("=A1:C8", "E3", "PivotTable2")
# Accessing the instance of the newly added PivotTable
pivotTable = pivotTables.get(index)
# Unshowing grand totals for rows
pivotTable.setRowGrand(False)
# Dragging the first field to the row area
pivotTable.addFieldToArea(PivotFieldType.ROW, 0)
# Dragging the second field to the column area
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1)
# Dragging the third field to the data area
pivotTable.addFieldToArea(PivotFieldType.DATA, 2)
# Saving the Excel file
workbook.save(output_directory + "CreatePivotTable_out.xlsx")