3

Apache POI を使用していますが、数式セルを評価するときに問題に直面しています。

これは私のコードです:

XSSFCell cellvalue = sheet.getRow(6).getCell(2);
if (cellvalue.getCellType() == cellvalue.CELL_TYPE_FORMULA) {
   evaluator.evaluateFormulaCell(cellvalue);
}

式:

=C6/Num_Input and Num_Input = F36

問題:

org.apache.poi.ss.formula.FormulaParseException:
Cell reference expected after sheet name at index 18.
4

1 に答える 1

2

まず、POI を離れて、数式が正常に機能しているかどうかを Excel 自体で確認します。POIエンドで問題ありません。このサンプル コードを書きましたが、問題なく動作しています。

        XSSFWorkbook workbook = new XSSFWorkbook();
        XSSFSheet sheet = workbook.createSheet();
        XSSFFormulaEvaluator evaluator = new XSSFFormulaEvaluator(workbook);
        XSSFCell cellvalue = sheet.createRow(0).createCell(0);
        sheet.getRow(0).createCell(1).setCellValue(2);
        sheet.getRow(0).createCell(2).setCellValue(5);
        cellvalue.setCellFormula("B1+C1");
        if (cellvalue.getCellType() == XSSFCell.CELL_TYPE_FORMULA) {
           evaluator.evaluateFormulaCell(cellvalue);
        }
        System.out.println(cellvalue.getNumericCellValue());

2 + 5 = 7 と評価されます。

于 2013-07-28T14:15:18.203 に答える