gpt4 book ai didi

java - 如何解决我在 Apache Poi 和 Excel 中的问题

转载 作者:行者123 更新时间:2023-11-29 04:01:02 29 4
gpt4 key购买 nike

我正在使用 Apache Poi 和 Java 进行 Excel 操作。我使用 Java 以编程方式修改了 Excel 文件中的一些单元格。

之后,当我手动打开该 Excel 文件以查看该更新时。看到之后,当我尝试关闭 Excel 文件时,它再次询问我“是否要保存对 test.xls 文件所做的更改。

如果我按下是按钮,那么只有我能够以编程方式进一步读取公式单元格值。否则,如果我访问公式单元格值,它会返回 0 值。

我该如何解决这个问题?

最佳答案

默认情况下,POI 会在您读取该单元格时读取对公式的缓存响应。当您使用 Excel 打开文件时,它会进行计算。然后,当您保存文件时,响应也会一起保存。然后当你用 poi 阅读它时,你会得到正确的答案。

如果您想要“正确”的答案,您需要计算公式响应。上次我需要这样做时,我不得不编写自己的解析器,但现在是:http://poi.apache.org/spreadsheet/eval.html .

或者简而言之:

Workbook wb = new HSSFWorkbook(inputstream);
FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
... snip ...
CellValue value = evaluator.evaluate(cellWithFormula);

关于java - 如何解决我在 Apache Poi 和 Excel 中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3607432/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com