gpt4 book ai didi

java - 当单元格值更改时,公式不起作用

转载 作者:行者123 更新时间:2023-12-01 22:32:35 24 4
gpt4 key购买 nike

我正在使用 POI Excel,并且遇到以下情况:

通过这行代码,我更改了 A3 值,这是一个下拉列表:

sheet.getRow(2).getCell(0).setCellValue(uf);

这部分工作正常,我已经验证单元格值已更改。

不好的部分是这样的:

E7 具有以下公式:=CONCATENATE($A$3;D7)

所以,当我使用以下命令更改 A3 值时:

sheet.getRow(2).getCell(0).setCellValue(uf);

应该通过公式更改E7值,但这不起作用。

我不知道如何使用java中的公式动态更改单元格值。

我认为这应该可以单独工作。就像我手动更改了 A3 值一样。

最佳答案

在 Apache POI 中,当值更改时,Excel 公式不会自动重新计算。

完成更改公式中引用的任何单元格的值后,创建一个 FormulaEvaluator 并告诉它使用 the evaluateAll method 计算所有公式.

sheet.getWorkbook().getCreationHelper().createFormulaEvaluator().evaluateAll();

或者,您可以通过使用 setForceFormulaRecalculation on the Workbook 设置适当的标志来强制 Excel 在打开时重新计算公式。 .

sheet.getWorkbook().setForceFormulaRecalculation(true);

关于java - 当单元格值更改时,公式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27408818/

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