Я изменил базовый example, чтобы создать сводную таблицу в новом листе. Но при открытии нового файла XLSX, я получаю сообщение об ошибке (Excel found unreadable content in...
следуют:[apache poi xssf]: создание сводной таблицы в новом листе (Java)
Removed Part: /xl/pivotTables/pivotTable1.xml part with XML error. (PivotTable view) Load error. Line 2, column 561.
Removed Records: Workbook properties from /xl/workbook.xml part (Workbook)
)
Вот фрагмент кода я изменил:
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("plain");
//Create some data to build the pivot table on
setCellData(sheet);
XSSFSheet sheet2 = wb.createSheet("pivot");
XSSFPivotTable pivotTable = sheet2.createPivotTable(new AreaReference("plain!$A$1:$D$4", null), new CellReference("pivot!$A$1"));
//Configure the pivot table
//Use first column as row label
pivotTable.addRowLabel(0);
//Sum up the second column
pivotTable.addColumnLabel(DataConsolidateFunction.SUM, 1);
//Set the third column as filter
pivotTable.addColumnLabel(DataConsolidateFunction.AVERAGE, 2);
//Add filter on forth column
pivotTable.addReportFilter(3);
Я отлажена через код , и не видят очевидной проблемы ...
Мысли о том, как это можно обрабатывать? или если это ошибка с библиотекой?
Благодаря
РЕДАКТИРОВАТЬ
Проблема с исходя из ссылки на ячейку A1 (new CellReference("pivot!$A$1")
) в приведенном выше коде. Кажется, если мы начнем с A1, на листе останется немного места, чтобы сделать какую-то другую сетку поворота форматирования. Так что изменение этого на A5 делает работу. Хотя я все еще думаю, что POI должен явно запретить людям делать это, выбросив ошибку
Какая версия POI это? И если не последний, можете ли вы попробовать обновиться до последней версии 3.15-beta1, чтобы проверить, все ли там происходит? – centic
Это звучит как ошибка в POI, я думаю, что лучший вариант - сообщить об ошибке на странице https://bz.apache.org/bugzilla/enter_bug.cgi?product=POI – centic
. Я попробую новую версию ... хотя и нерешительно использовать его в производстве env как его еще «бета» – labheshr