使用Apache POI HSSF,我如何一次刷新所有公式单元格?
问题描述:
我使用Apache POI填充Excel文件的单元格,并且文档中有很多公式单元格。但是,当我在Excel中打开文档时,它们的值不会刷新。使用Apache POI HSSF,我如何一次刷新所有公式单元格?
这是我的理解,我需要使用FormulaEvaluator
刷新公式单元格。但是,是否有办法一次更新所有配方单元?有一个很多他们,虽然作出详尽的清单是不是没有问题,这当然不是我很愿意做的事情。
答
当然。无论如何,刷新工作簿中的所有公式可能是更典型的用例。
如果您使用HSSF,叫evaluatorAllFormulaCells:
HSSFFormulaEvaluator.evaluateAllFormulaCells(hssfWorkbook)
如果您使用XSSF,叫evaluatorAllFormulaCells:
XSSFFormulaEvaluator.evaluateAllFormulaCells(xssfWorkbook)
更多详情,可在poi website
答
wb.setForceFormulaRecalculation(true); // replace "wb" with your XSSFWorkbook object
非常感谢! – zneak 2011-05-09 13:37:56
一年后,仍然有用!谢谢':)' – sp00m 2012-08-23 10:09:16
4年后,仍然有用;-) – DenisK 2015-07-10 10:11:20