Я пытаюсь отключить промежуточные итоги полей Сводки строк, а также , повторяя метки элементов во всех строках таблицы PIVOT с помощью Apache POI (v 3.13). Я не мог найти способ для повторения меток элементов строки. Я нашел способ отключить промежуточные итоги, хотя -
setDefaultSubtotal (ложь)
Но это дает мне следующую ошибку.
Я нашел ссылку , в которой предлагается создать сводный кэш, но я не могу этого понять. Любой другой обходной путь?
XSSFSheet pivotSheet = wb.createSheet("PIVOT");
String areaRef = "A1:R" + worksheet.getLastRowNum();
//System.out.println("AreaRef: " + areaRef);
XSSFPivotTable pivotTable = pivotSheet.createPivotTable(new AreaReference(areaRef), new CellReference("A4"),worksheet);
pivotTable.addReportFilter(0);
pivotTable.addReportFilter(2);
pivotTable.addRowLabel(1);
pivotTable.addRowLabel(3);
pivotTable.addRowLabel(4);
pivotTable.addRowLabel(5);
pivotTable.addRowLabel(6);
pivotTable.addColumnLabel(DataConsolidateFunction.SUM, 7, "Summe von Projektplanung");
pivotTable.addColumnLabel(DataConsolidateFunction.SUM, 16, "Summe von VERFÜGT");
pivotTable.addColumnLabel(DataConsolidateFunction.SUM, 17, "Summe von ÜBER-/UNTERSCHREITUNG");
pivotTable.addColumnLabel(DataConsolidateFunction.SUM, 8, "Summe von EL (EUR)");
setFormatDataField(pivotTable, 7, 3);
setFormatDataField(pivotTable, 16, 3);
setFormatDataField(pivotTable, 17, 3);
setFormatDataField(pivotTable, 8, 3);
//CTPivotField fld = pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldList().get(1);
pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldArray(1).setOutline(false);
pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldArray(2).setOutline(false);
pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldArray(3).setOutline(false);
pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldArray(4).setOutline(false);
pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldArray(5).setOutline(false);
pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldArray(1).setDefaultSubtotal(false);