在数据透视表中添加筛选器
Contents
[
Hide
]
可能的使用场景
当你创建了已知数据的数据透视表并想筛选数据透视表时,你需要学习并使用筛选器。它可以帮助你有效筛选出所需数据。使用Aspose.Cells for Node.js via C++ API,你可以在字段值上添加筛选器。
在数据透视表中添加筛选器 使用Aspose.Cells for Node.js via C++
请参阅以下示例代码。它设置数据并基于它创建数据透视表。然后在数据透视表的行字段上添加筛选器。最后,以[filterout.xlsx]格式保存工作簿。执行示例代码后,工作表中将添加一个带有Top10筛选器的数据透视表。
示例代码
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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"); |