Недавно я создал сводную таблицу с Apache POI и хочу выбрать элементы созданных фильтров.
Например, если фильтр pivotTable.addReportFilter (columnNumber ("K") - 1); генерирует список из 5 элементов, выберите 2 элемента, чтобы отобразить сумму величин.
useSheet("Sales");
AreaReference source = new AreaReference("'Sales'!A1:" + columnLetter( getCurrentSheet().getRow(0).getLastCellNum() ) + (getCurrentSheet().getLastRowNum()+1), SpreadsheetVersion.EXCEL2007);
CellReference position = new CellReference("A1");
XSSFSheet table = (XSSFSheet)createSheet("Sales by Product Line");
XSSFPivotTable pivotTable = table.createPivotTable(source, position);
pivotTable.addRowLabel( columnNumber("J")-1 );
pivotTable.addRowLabel( columnNumber("F")-1 );
pivotTable.addColumnLabel(DataConsolidateFunction.SUM, columnNumber("U")-1, "Quantity" );
pivotTable.addReportFilter( columnNumber("K")-1 );
pivotTable.addReportFilter( columnNumber("Q")-1 );
pivotTable.addReportFilter( columnNumber("D")-1 );
try (FileOutputStream fileOut = new FileOutputStream("sales.xlsx")) {
wbook.write(fileOut);
} catch (IOException ex) {
Logger.getLogger(Stock.class.getName()).log(Level.SEVERE, null, ex);
}
На данный момент он хорошо создает таблицы, только мне не хватило бы выбрать элементы фильтров. Я надеюсь, что вы можете мне помочь. Спасибо.