清除数据透视表中的筛选器

可能的使用场景

当您使用已知数据创建数据透视表并希望对数据透视表进行筛选时,您需要学习并使用筛选功能。它可以帮助您有效地筛选出所需的数据。通过使用 Aspose.Cells API,您可以对数据透视表中的字段值进行筛选操作。

在 Excel 中清除数据透视表中的筛选

在 Excel 中清除数据透视表中的筛选,按照以下步骤操作:

  1. 选择要清除筛选的数据透视表。
  2. 单击数据透视表中要清除筛选的下拉箭头。
  3. 从下拉菜单中选择“清除筛选”。
  4. 如果您要清除数据透视表中的所有筛选,还可以在 Excel 的“数据透视表分析”选项卡上单击“清除筛选”按钮。

在数据透视表中清除筛选

请参阅以下示例代码。它设置数据并基于它创建数据透视表。然后在数据透视表的行字段上添加筛选器。最后,将工作簿保存为output XLSX格式。 在执行示例代码后,工作表中将添加带有top10筛选器的数据透视表。添加筛选器后,当我们需要非筛选数据时,可以清除特定数据透视字段上的筛选器。在执行清除筛选器的代码后,特定数据透视字段上的筛选器将被清除。请检查 output XLSX

示例代码

//Instantiating an Workbook object
Workbook workbook = new Workbook();
//Obtaining the reference of the newly added worksheet
Worksheet ws = workbook.getWorksheets().get(0);
Cells cells = ws.getCells();
//Setting the value to the cells
Cell 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
int i = ws.getPivotTables().add("=A1:B8", "D10", "PivotTable1");
//Accessing the instance of the newly added PivotTable
PivotTable pivotTable = ws.getPivotTables().get(i);
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);
pivotTable.addFieldToArea(PivotFieldType.DATA, "Count");
pivotTable.getDataFields().get(0).setFunction(ConsolidationFunction.SUM);
PivotField field = pivotTable.getRowFields().get(0);
field.setAutoSort(true);
field.setAscendSort(false);
field.setAutoSortField(0);
//Add top10 filter
PivotField filterField = pivotTable.getRowFields().get(0);
filterField.filterTop10(0, PivotFilterType.COUNT, false, 5);
pivotTable.refreshData();
pivotTable.calculateData();
workbook.save("out_add.xlsx");
//Clear PivotFilter from the specific PivotField
pivotTable.getPivotFilters().clearFilter(field.getBaseIndex());
pivotTable.refreshData();
pivotTable.calculateData();
workbook.save("out_delete.xlsx");