使用POI
读取公式单元格值时遇到困难我创建了公式单元格如下:
cell.setCellType(HSSFCell.CELL_TYPE_FORMULA);
cell.setCellFormula("SUM(D8..F8)");
我正在阅读如下:
double formulaCellValue = row.getCell((short) 7).getNumericCellValue();
当以这种方式阅读时(使用getNumericCellValue()
),我总是得到0.0的值。
在这方面的任何快速帮助都会受到高度关注。
答案 0 :(得分:8)
完成所有公式设置后,需要触发重新计算。有关您需要执行此操作的背景信息,请参阅why evaluate docs,有关详细信息,请参阅Evaluation docs。快速回答你可能想做类似的事情:
HSSFFormulaEvaluator.evaluateAllFormulaCells(workbook);
在完成添加/编辑所有单元格之前,请不要调用它!您还可以触发仅评估一个单元格,如果需要完全控制,请参阅docs以获取各种选项的详细信息。