Apache Сводная таблица POI - динамическое изменение ссылки на область - PullRequest
0 голосов
/ 25 мая 2020

Я создал XLS с 2 листами - pivot и raw data лист с требуемым форматом и определениями сводной таблицы в Excel.

Я использую POI для заполнения данных на листе raw data из базы данных и загрузки из приложения.

/* Get the reference for Pivot Data */
            XSSFSheet pivotSheet = xwb.getSheet("Pivot_1");

            if (pivotSheet != null) {
                XSSFPivotTable pivotTable = pivotSheet.getPivotTables().get(0);
                if (pivotTable != null) {
                    pivotTable.getPivotCacheDefinition().getCTPivotCacheDefinition().setRefreshOnLoad(true); // java.lang.NullPointerException
                    pivotTable.getPivotCacheDefinition().getPivotArea(xwb); // Get AreaReference
                }
            }

Мой вопрос: можно ли обновить AreaReference для существующей сводной таблицы в Excel на основе максимального количества строк в листе данных.

1 Ответ

0 голосов
/ 07 июля 2020

Моя сводная таблица основана на таблице и обновляет AreaReference с помощью:

AreaReference areaReference = new AreaReference ("B1: J" + rowIniCount + 2, SpreadsheetVersion.EXCEL2007); Таблица XSSFTable = sheet.getTables (). Get (0); table.setCellReferences (areaReference);

...