Insérer un tableau croisé dynamique

Créer un tableau croisé dynamique

Il est possible d’utiliser Aspose.Cells for Node.js via C++ pour ajouter des tableaux croisés dynamiques aux feuilles de calcul de manière programmatique.

Modèle d’objet de tableau croisé dynamique

Aspose.Cells for Node.js via C++ fournit un ensemble spécial de classes utilisées pour créer et contrôler les tableaux croisés dynamiques. Ces classes sont utilisées pour créer et définir des objets PivotTable, qui sont les blocs de construction 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 putValue 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.

const AsposeCells = require("aspose.cells.node");
//Instantiating a Workbook object
var workbook = new AsposeCells.Workbook();
//Obtaining the reference of the newly added worksheet
var sheetIndex = workbook.getWorksheets().add();
var sheet = workbook.getWorksheets().get(sheetIndex);
var cells = sheet.getCells();
//Setting the value to the cells
var 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);
var pivotTables = sheet.getPivotTables();
//Adding a PivotTable to the worksheet
var index = pivotTables.add("=A1:C8", "E3", "PivotTable2");
//Accessing the instance of the newly added PivotTable
var pivotTable = pivotTables.get(index);
//Unshowing grand totals for rows.
pivotTable.setRowGrand(false);
//Dragging the first field to the row area.
pivotTable.addFieldToArea(AsposeCells.PivotFieldType.Row, 0);
//Dragging the second field to the column area.
pivotTable.addFieldToArea(AsposeCells.PivotFieldType.Column, 1);
//Dragging the third field to the data area.
pivotTable.addFieldToArea(AsposeCells.PivotFieldType.Data, 2);
//Saving the Excel file
workbook.save("CreatePivotTable_out.xlsx");