JXLS резюме по нескольким листам - PullRequest
0 голосов
/ 27 сентября 2018

Мы создаем отчет с большим количеством записей.Поэтому мы используем JXLS с SXSSFWorkbook, чтобы разделить данные на несколько листов и сократить использование памяти:

XSSFWorkbook wb_template = new XSSFWorkbook(is);
PoiTransformer transformer = PoiTransformer.createSxssfTransformer(wb_template, 1000, false);
String sheetName = wb_template.getSheetAt(0).getSheetName();
AreaBuilder areaBuilder = new XlsCommentAreaBuilder(transformer);
List<Area> xlsAreaList = areaBuilder.build();
Area xlsArea = xlsAreaList.get(0);
transformer.getWorkbook().removeSheetAt(0);
while (pageIndex < total) {
    xlsArea.applyAt(new CellRef(sheetName + " " + pageIndex + "!A1"), context);
    pageIndex++;
}

Но наш отчет содержит итоговую строку, которую мы должны суммировать в 2 столбца.Мы вызываем processFormulas после вызова applyAt:

xlsArea.processFormulas();

Это обработает каждую формулу на листе, но только на этом листе.В то время как нам нужно общее резюме по всему листу.Так что нам нужно делать здесь?Кто-нибудь может нам помочь?

...