java POI导出excel表时刷新公式遇到点问题

老李王 2014-07-16 02:28:39
一:
if(row.getCell(column).getCellType() == Cell.CELL_TYPE_FORMULA){
String formula = row.getCell(column).getCellFormula();
row.getCell(column).setCellFormula(formula);
}
如果刷新公式的代码是这样的,那么生成的excel表在打开的的时候就会报excel在xxx.xlsx文件中发现不可读取的内容。请问是否需要恢复此工作簿。点击是,就会出现:
“已删除的记录: /xl/worksheets/sheet4.xml 部分的 共享公式。已删除的记录:/xl/calcChain.xml 部分的 公式 (计算属性)”

二:

XSSFFormulaEvaluator.evaluateAllFormulaCells(wk);

或者

Row r=s.getRow(row);
Cell c=null;
FormulaEcaluator eval=null;
if(wb instanceof HSSFWorkbook)
eval=new HSSFFormulaEvaluator((HSSFWorkbook) wb);
else if(wb instanceof XSSFWorkbook)
eval=new XSSFFormulaEvaluator((XSSFWorkbook) wb);
for(int i=r.getFirstCellNum();i<r.getLastCellNum();i++){
c=r.getCell(i);
if(c.getCellType()==Cell.CELL_TYPE_FORMULA)
eval.evaluateFormulaCell(c);
}

如果是直接刷新工作簿里面的所有公式 或者 计算公式保存结果,但不改变公式。
eclipse就会报错org.apache.poi.ss.formula.eval.NotImplementedException: Error evaluating cell

求众大神能给出原因和解决方法。
...全文
1303 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangyouhua 2014-07-18
  • 打赏
  • 举报
回复
org.apache.poi.ss.formula.eval.NotImplementedException 这个是POI报错, 按照文档的说法: When evaluating workbooks you may encounter a org.apache.poi.ss.formula.eval.NotImplementedException which indicates that a function is not (yet) supported by POI. 你调用的function使用的POI版本没有支持。 建议再看看测试的Excel和POI的说明。 希望有帮助。

50,503

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧