饼图不是从数据透视表创建的

时间:2019-07-11 14:40:43

标签: java

我的目标是在同一个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;
                }
            }

所以我的理解是文件没有正确保存。我已经手动保存了文件并尝试了代码,它可以正常工作。 因此,在保存数据透视表时,请帮我解决错误的地方。

0 个答案:

没有答案