【问题标题】:Using Apache POI HSSF, how can I refresh all formula cells at once?使用 Apache POI HSSF,如何一次刷新所有公式单元格?
【发布时间】:2020-08-27 19:02:49
【问题描述】:

我正在使用 Apache POI 填充 Excel 文件的单元格,文档中有很多公式单元格。但是,当我在 Excel 中打开文档时,它们的值不会刷新。

据我了解,我需要使用 FormulaEvaluator 来刷新公式单元格。但是,有没有办法一次更新所有公式单元格?其中有很多个,虽然列出详尽的清单并非不可能,但我肯定不是很愿意这样做。

【问题讨论】:

    标签: java apache-poi


    【解决方案1】:

    当然。无论如何,刷新工作簿中的所有公式可能是更典型的用例。

    如果您使用 HSSF,请致电evaluatorAllFormulaCells

     HSSFFormulaEvaluator.evaluateAllFormulaCells(hssfWorkbook)
    

    如果您使用 XSSF,请致电 evaluatorAllFormulaCells

     XSSFFormulaEvaluator.evaluateAllFormulaCells(xssfWorkbook)
    

    更多详情请访问poi website

    【讨论】:

    • 5 years 6 months 14 days 稍后,仍然有用:)
    • 如果我的公式中有一些不受支持的函数,例如 DB 或 SLN,该怎么办?是否可以设置任何标志来告诉 Excel 在打开文件后重新计算所有公式单元格?
    • 9years + 以后还是有用的。拯救了我的一天
    【解决方案2】:

    【讨论】:

    • 这对我没有帮助 - 条件格式的值错误。如果我在 Libreoffice Calc 中打开文档
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多