Insérer un tableau croisé dynamique

Créer un tableau croisé dynamique

Il est possible d’utiliser Aspose.Cells pour Python via .NET pour ajouter des tableaux croisés dynamiques aux feuilles de calcul de manière programmée.

Modèle d’objet de tableau croisé dynamique

Aspose.Cells pour Python via .NET fournit un ensemble spécial de classes dans l’espace de noms aspose.cells.pivot qui sont utilisées pour créer et contrôler des tableaux croisés dynamiques. Ces classes sont utilisées pour créer et définir des objets PivotTable, les éléments constitutifs d’un tableau croisé dynamique. Les objets sont :

Création d’un tableau croisé dynamique simple avec Aspose.Cells

  1. Ajoutez des données à une feuille de calcul en utilisant la méthode put_value de l’objet Cell. Ces données seront utilisées comme source de données du tableau croisé dynamique.
  2. Ajoutez un tableau croisé dynamique à la feuille de calcul en appelant la méthode add de la collection PivotTables, qui est encapsulée dans l’objet FeuilleDeCalcul.
  3. Accédez au nouvel objet PivotTable de la collection PivotTables en passant l’indice de PivotTable.
  4. Utilisez l’un des objets PivotTable (expliqués ci-dessus) pour gérer le tableau croisé dynamique.

Après l’exécution du code d’exemple, un tableau croisé dynamique est ajouté à la feuille de calcul.

from aspose.cells import Workbook
from aspose.cells.pivot import PivotFieldType
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Instantiating a Workbook object
workbook = Workbook()
# Obtaining the reference of the newly added worksheet
sheet = workbook.worksheets[0]
cells = sheet.cells
# Setting the value to the cells
cell = cells.get("A1")
cell.put_value("Sport")
cell = cells.get("B1")
cell.put_value("Quarter")
cell = cells.get("C1")
cell.put_value("Sales")
cell = cells.get("A2")
cell.put_value("Golf")
cell = cells.get("A3")
cell.put_value("Golf")
cell = cells.get("A4")
cell.put_value("Tennis")
cell = cells.get("A5")
cell.put_value("Tennis")
cell = cells.get("A6")
cell.put_value("Tennis")
cell = cells.get("A7")
cell.put_value("Tennis")
cell = cells.get("A8")
cell.put_value("Golf")
cell = cells.get("B2")
cell.put_value("Qtr3")
cell = cells.get("B3")
cell.put_value("Qtr4")
cell = cells.get("B4")
cell.put_value("Qtr3")
cell = cells.get("B5")
cell.put_value("Qtr4")
cell = cells.get("B6")
cell.put_value("Qtr3")
cell = cells.get("B7")
cell.put_value("Qtr4")
cell = cells.get("B8")
cell.put_value("Qtr3")
cell = cells.get("C2")
cell.put_value(1500)
cell = cells.get("C3")
cell.put_value(2000)
cell = cells.get("C4")
cell.put_value(600)
cell = cells.get("C5")
cell.put_value(1500)
cell = cells.get("C6")
cell.put_value(4070)
cell = cells.get("C7")
cell.put_value(5000)
cell = cells.get("C8")
cell.put_value(6430)
pivotTables = sheet.pivot_tables
# Adding a PivotTable to the worksheet
index = pivotTables.add("=A1:C8", "E3", "PivotTable2")
# Accessing the instance of the newly added PivotTable
pivotTable = pivotTables[index]
# Unshowing grand totals for rows.
pivotTable.row_grand = False
# Draging the first field to the row area.
pivotTable.add_field_to_area(PivotFieldType.ROW, 0)
# Draging the second field to the column area.
pivotTable.add_field_to_area(PivotFieldType.COLUMN, 1)
# Draging the third field to the data area.
pivotTable.add_field_to_area(PivotFieldType.DATA, 2)
# Saving the Excel file
workbook.save(dataDir + "pivotTable_test_out.xls")

Sujets avancés