Фильтр сводной таблицы

Возможные сценарии использования

Когда вы создаете сводную таблицу с известными данными и хотите отфильтровать ее, вам нужно изучить и использовать фильтр. Он может помочь эффективно фильтровать данные. Используя API Aspose.Cells Java, вы можете добавлять фильтр на значения поля в сводных таблицах.

Добавить фильтр в сводную таблицу в Excel

Добавьте фильтр в сводную таблицу в Excel, выполните следующие шаги:

  1. Выберите сводную таблицу, которую вы хотите очистить от фильтра.
  2. Нажмите на стрелку раскрывающегося меню для фильтра, который нужно добавить в сводную таблицу.
  3. Выберите “Топ-10” из выпадающего меню.
  4. Установите режим отображения и количество фильтров.

Добавить фильтр в сводную таблицу

Пожалуйста, ознакомьтесь с приведенным ниже образцовым кодом. Устанавливаются данные и создается сводная таблица на их основе. Затем добавляется фильтр на поле строк сводной таблицы. Наконец, сохраняется книга в формате output XLSX. После выполнения примера кода к рабочему листу добавляется сводная таблица с фильтром top10.

Образец кода

//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.xlsx");

Очистить фильтр в сводной таблице в Excel

Очистить фильтр в сводной таблице Excel, следуйте этим шагам:

  1. Выберите сводную таблицу, которую вы хотите очистить от фильтра.
  2. Нажмите на стрелку-раскрывающееся меню для фильтра, который вы хотите очистить в сводной таблице.
  3. Выберите “Очистить фильтр” в выпадающем меню.
  4. Если вы хотите очистить все фильтры из сводной таблицы, вы также можете щелкнуть кнопку “Очистить фильтры” на вкладке Анализ сводной таблицы на ленте в Excel.

Очистить фильтр в сводной таблице

Пожалуйста, посмотрите следующий образец кода. Он устанавливает данные и создает сводную таблицу на их основе. Затем добавляет фильтр для поля строк сводной таблицы. Наконец, он сохраняет книгу в формате XLSX. После выполнения примерного кода, в листе добавляется сводная таблица с фильтром top10. После добавления фильтра, когда нам нужны неотфильтрованные данные, мы можем очистить фильтр для конкретного поля сводной таблицы. После выполнения кода для очистки фильтра, фильтр для указанного поля сводной таблицы будет очищен. Пожалуйста, проверьте 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");