【问题标题】:Exception while evaluating formula CELL using Apache POI使用 Apache POI 评估公式 CELL 时出现异常
【发布时间】:2016-01-29 06:50:05
【问题描述】:
尝试评估工作簿中的所有单元格时出现以下异常。
我正在为 Apache poi 使用 3.13 版。
公式为 CELL("filename")
org.apache.poi.ss.formula.eval.NotImplementedFunctionException: CELL
有什么方法可以让它工作吗?或者有没有其他公式可以给我同样的结果?
【问题讨论】:
标签:
java
excel
apache-poi
notimplementedexception
【解决方案1】:
根据this site,Apache POI 不支持/实现函数 CELL。
大约一年前,我在一个项目中遇到了类似的问题。我们最终在 excel 中创建了一个用户定义的函数,然后我们用 Java 重新实现了它。查看link 了解有关用户定义函数的更多信息。
【解决方案2】:
就我而言,公式评估器不起作用。我们决定使用 cell.getNumericCellValue() 从函数单元格中提取数值,得到函数求值的结果:
XSSFFormulaEvaluator formulaEvaluator = new XSSFFormulaEvaluator(workbook);
formulaEvaluator.evaluateInCell(cell); // NotImplementedException (caused by NotImplementedFunctionException)
cell.getNumericCellValue(); // OK
Apache POI 3.17 版