使用Apache-Poi的Sax解析器时,重新评估公式计算单元格

时间:2016-05-26 07:42:55

标签: apache-poi saxparser

由于内存问题,我们正在使用apache poi的Sax解析器方法来读取巨大的.xlsx excel文件。 然而,这种方法似乎对配方细胞有限制。它似乎从“缓存的公式值”中读取值。 我找不到触发重新计算以获得更新值的最佳解决方案。 有没有人面临同样的问题?感谢。

1 个答案:

答案 0 :(得分:1)

对此的一般解决方案可能非常困难,因为公式重新评估可能需要随机访问任何工作表中的任何单元格,因为公式可以引用它们,这是使用SAX时无法做到的。

您可能能够实现自己的公式评估程序,该公式评估程序可以对可能的公式和引用类型进行许多限制,但这可能需要做一些工作。

请参阅XSSFFormulaEvaluator了解.xlsx的实现,它非常依赖于XSSFWorkbook / XSSFSheet / XSSFRow / XSSFCell类。