Apache POI无法识别工作表名称:当前工作簿中不存在指定的命名范围'RtSummary.1'

时间:2019-03-25 17:46:42

标签: java apache-poi

我正在通过Java生成Excel文件。我需要在“概述”表中引用“摘要”表。首先,我将摘要表名称声明为“ RtSummary.1-PLAN1”。然后,我在概述表中处理单元格。但是,我收到错误消息:

Exception in thread "main" org.apache.poi.ss.formula.FormulaParseException: Specified named range 'RtSummary.1' does not exist in the current workbook.

我打印出工作表名称。它打印出的正是我所期望的。 (它打印“ RtSummary.1-PLAN1” ,而不是“ RtSummary.1” )。 然后,我尝试将工作表名称从“ RtSummary.1-PLAN1”更改为“ test”。我没有再收到这样的错误。

我很困惑我的工作表名称出了什么问题,从而导致这种错误。我的代码如下:

    //cell 3 (total orders) will be filled later
    String summarySheetName="RtSummary."+snapshots[i].trim()+Integer.toString(i+1);
    String detailSheetName="RtDetail."+snapshots[i]+(i+1);
    Row orderRow;


    //first comparison table content
    int rowOffset=15+snapshots.length;
    curRow=overviewSheet.createRow(rowOffset+i);
    orderRow=curRow;
    curCell=curRow.createCell(1);
    curCell.setCellStyle(lrBarStyle);
    curCell.setCellValue(snapshots[i]);

    curCell=curRow.createCell(2);
    curCell.setCellStyle(lrBarStyle);
    if(sameDay)
        curCell.setCellValue(dateSDF.format(startDate.getTime()));
    else
        curCell.setCellValue(dateSDF.format(startDate.getTime())+"-"+dateSDF.format(endDate.getTime()));

    curCell=curRow.createCell(4);
    curCell.setCellStyle(lrBarStyle);
    System.out.println(summarySheetName);
    curCell.setCellFormula(summarySheetName+"!N"+(routes.length+2));
    System.out.println("0k");

0 个答案:

没有答案