Моя цель - создать сводную таблицу и круговую диаграмму в одном и том же Excel. Я создал сводную таблицу, используя poi на другом листе.Но когда я использую тот же лист Excel, где я создал сводную таблицу, я получаю пустую круговую диаграмму.
Создание сводной таблицы:
//Create Pivot Table on a separate worksheet
XSSFPivotTable pivotTable = pivot_sheet.createPivotTable(a,b,sheet);
//Add filters
pivotTable.addReportFilter(0);
pivotTable.addRowLabel(3);
pivotTable.addColumnLabel(DataConsolidateFunction.COUNT, 1);
// Write Pivot Table to File
FileOutputStream output_file = new FileOutputStream(new File(outputPath));
my_xlsx_workbook.setSheetOrder(sheetName, 0);
my_xlsx_workbook.write(output_file);
output_file.close();
Я отладил ее и код внутри"while (rowIterator.hasNext ())" не выполняется.
//Loop through worksheet data and populate Pie Chart Data set
String chart_label="a";
Number chart_data=0;
while(rowIterator.hasNext()) {
//Read Rows from Excel document
Row row = rowIterator.next();
//Read cells in Rows and get chart data
Iterator<Cell> cellIterator = row.cellIterator();
while(cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch(cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:
chart_data=cell.getNumericCellValue();
System.out.println(chart_data);
break;
case Cell.CELL_TYPE_STRING:
chart_label=cell.getStringCellValue();
System.out.println(chart_label);
break;
}
}
Итак, я понимаю, что файл не сохраняется должным образом. Я вручную сохранил файл и попробовал код, и он работал правильно.Поэтому, пожалуйста, помогите мне понять, где я ошибся при сохранении сводной таблицы.