Ajouter un filtre dans un tableau croisé dynamique

Scénarios d’utilisation possibles

Lorsque vous créez un tableau croisé dynamique avec des données connues et souhaitez filtrer le tableau, vous devez apprendre et utiliser le filtrage. Cela peut vous aider à filtrer efficacement les données que vous souhaitez. En utilisant l’API Aspose.Cells for Node.js via C++, vous pouvez ajouter un filtre sur les valeurs de champ dans les tableaux croisés dynamiques.

Ajouter un filtre dans un tableau croisé dynamique en utilisant Aspose.Cells for Node.js via C++

Veuillez consulter le code d’exemple suivant. Il défini les données et crée un tableau croisé dynamique basé sur celles-ci. Ajoute ensuite un filtre sur le champ de ligne du tableau croisé dynamique. Enfin, enregistre le classeur au format XLSX de sortie. Après avoir exécuté le code d’exemple, un tableau croisé dynamique avec filtre top10 est ajouté à la feuille de calcul.

Code d’exemple

const AsposeCells = require("aspose.cells.node");
//Instantiating an Workbook object
var workbook = new AsposeCells.Workbook();
//Obtaining the reference of the newly added worksheet
var ws = workbook.getWorksheets().get(0);
var cells = ws.getCells();
//Setting the value to the cells
var cell = cells.get("A1");
cell.putValue("Fruit");
cell = cells.get("B1");
cell.putValue("Count");
cell = cells.get("A2");
cell.putValue("Apple");
cell = cells.get("A3");
cell.putValue("Mango");
cell = cells.get("A4");
cell.putValue("Blackberry");
cell = cells.get("A5");
cell.putValue("Cherry");
cell = cells.get("A6");
cell.putValue("Guava");
cell = cells.get("A7");
cell.putValue("Carambola");
cell = cells.get("A8");
cell.putValue("Banana");
cell = cells.get("B2");
cell.putValue(5);
cell = cells.get("B3");
cell.putValue(3);
cell = cells.get("B4");
cell.putValue(6);
cell = cells.get("B5");
cell.putValue(4);
cell = cells.get("B6");
cell.putValue(5);
cell = cells.get("B7");
cell.putValue(2);
cell = cells.get("B8");
cell.putValue(20);
//Adding a PivotTable to the worksheet
var i = ws.getPivotTables().add("=A1:B8", "D10", "PivotTable1");
//Accessing the instance of the newly added PivotTable
var pivotTable = ws.getPivotTables().get(i);
pivotTable.addFieldToArea(AsposeCells.PivotFieldType.Row, 0);
pivotTable.addFieldToArea(AsposeCells.PivotFieldType.Data, "Count");
pivotTable.getDataFields().get(0).setFunction(AsposeCells.ConsolidationFunction.Sum);
var field = pivotTable.getRowFields().get(0);
field.setIsAutoSort(true);
field.setIsAscendSort(false);
field.setAutoSortField(0);
//Add top10 filter
var index = pivotTable.getPivotFilters().add(0, AsposeCells.PivotFilterType.Count);
var filter = pivotTable.getPivotFilters().get(index);
filter.getAutoFilter().filterTop10(0, True, False, 5);
pivotTable.refreshData();
pivotTable.calculateData();
workbook.save("out.xlsx");