我能够使用Apache POI读写单元格值。阅读时,我首先进行评估,这样我就得到了正确的数值。我的用例要求我读取一个工作表,替换工作表中的几个值,然后读取工作表中包含依赖于我刚才替换的单元格的单元格的另一部分。
a1
包含一个公式:=b1+c1
。B1
包含2
,C1
包含3
。当我计算A1
时,我正确地得到5
。现在,如果我用POI api将C1
替换为10
,我希望当我再次阅读A1
时,我会看到12
。我不...A1
现在计算为空
。
救命啊!
看来您的问题在Apache POI文档中得到了回答(在“公式的重新计算”下)
基本上,它暗示了如下内容:
Workbook wb = ...
wb.getCreationHelper().createFormulaEvaluator().evaluateAll();
由于内存问题,我们使用ApachePOI的Sax解析器方法来读取大量数据。xlsx excel文件。然而,这种方法在公式单元格中似乎有局限性。它似乎从“缓存的公式值”中读取值。我找不到触发重新计算以更新值的最佳解决方案。有人面临同样的问题吗?谢谢
我正在使用Apache POI读取零件编号电子表格中的数据。我在我们的数据库中查找零件编号,如果我们有零件的计算机辅助设计图纸,我将零件编号单元格涂成绿色,如果没有,我将其涂成红色。处理完成后,将保存电子表格。我遇到的问题是那列中的每个细胞都是绿色的。我已经完成了代码,查找零件号的逻辑工作正常,确定单元格应该是什么颜色以及设置颜色和填充的逻辑似乎也工作正常。知道我做错了什么吗? 谢谢
我的代码设置了很多单元格值。最后,在生成excel文件之前,需要评估每个单元格中的公式。对于大多数床单来说,一切都很顺利。 但是,有一个单元格正在引发异常。该单元格正在计算其后面的一系列单元格和其他工作表中的参考单元格的平均值。我猜当第一个单元格试图计算平均值时,后面的单元格尚未计算。 这是那个单元格上的公式 我怀疑是因为单元格int限制了其他工作表中的引用单元格。例如,D2具有以下公式。 所以我
但这无济于事。有什么想法吗?
因此,我使用Apache POI(在最新的稳定版本5.0.0中使用poi-ooxml),并打开一个现有的Excel(XSLX)文件进行编辑(它基本上是一个模板文件,用于填充其他数据)。我添加了多行新数据并再次导出Excel。所有的工作都很好,只要我只添加规则的内容单元格。 现在,我有一列想要添加一个公式单元格,我使用以下代码(对于本例,您可以放心,它通常编译/运行并在末尾生成一个填充的Excel文
我有一个巨大的excel文件,其中包含大量列,如下所示:- 当我打印excel中的所有值时,我的代码生成的输出是:- 所以,如果我们看看上面的输出,我们可以注意到我留下空白值的单元格没有被POI库拾取。有没有一种方法可以让这些值为空?还是一种识别所呈现的值跳过空白单元格的方法? 请注意:我使用的不是usermodel(org.apache.poi.ss.usermodel),而是一个事件API来处