Apache POI не может распознать имя листа: указанный именованный диапазон 'RtSummary.1' не существует в текущей книге - PullRequest
0 голосов
/ 25 марта 2019

Я создаю файл Excel с помощью Java. Мне нужно сослаться на "сводный" лист в листе "обзор" Сначала я объявляю имя сводного листа как "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» на «тест». Я не получил такую ​​ошибку больше.

Я запутался, что не так с моим именем листа, чтобы вызвать такую ​​ошибку. Мой код, как показано ниже:

    //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");
...