Круговая диаграмма не создается из сводной таблицы - PullRequest
0 голосов
/ 11 июля 2019

Моя цель - создать сводную таблицу и круговую диаграмму в одном и том же 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;
                }
            }

Итак, я понимаю, что файл не сохраняется должным образом. Я вручную сохранил файл и попробовал код, и он работал правильно.Поэтому, пожалуйста, помогите мне понять, где я ошибся при сохранении сводной таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...