Я изменил базовый пример создания сводной таблицы на новом листе. Но при открытии нового файла xlsx я получаю сообщение об ошибке (Excel found unreadable content in...
за которым следует:
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 должен явно запрещать людям делать это, выдавая ошибку.