在数据透视表中添加筛选器

可能的使用场景

当你创建了已知数据的数据透视表并想筛选数据透视表时,你需要学习并使用筛选器。它可以帮助你有效筛选出所需数据。使用Aspose.Cells for Node.js via C++ API,你可以在字段值上添加筛选器。

在数据透视表中添加筛选器 使用Aspose.Cells for Node.js via C++

请参阅以下示例代码。它设置数据并基于它创建数据透视表。然后在数据透视表的行字段上添加筛选器。最后,以[filterout.xlsx]格式保存工作簿。执行示例代码后,工作表中将添加一个带有Top10筛选器的数据透视表。

示例代码

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");