如何通过XSSF事件API评估一个Excel公式

我正在使用Apache POI的事件API来读取XLSX文件,即通过SAXparsing器读取XLSX表格的内容。 我想知道如何通过使用XSSF事件API来获取公式的计算值。

我知道这样做是通过使用FormulaEvaluator类。 但是由于formulaEvaluator需要一个Workbook类的实例,所以我不想使用这种方法。 (我正在阅读包含一百万行和100列的Excel文件,所以如果我创build该Excel的工作簿对象,我的应用程序服务器将耗尽内存,因此我正在使用事件API)

如何在事件parsing中执行评估,而无需Workbook实例?

一般来说,caching的值将与单元格一起写入,所以您可以只读(不需要评估)

以此公式单元格为例:

  <cr="B10"> <f>SUM(B1:B9)</f> <v>4995</v> </c> 

您读取f值以获取公式本身,或者只读取v值,以查看Excel最后一次触摸文件时公式的评估结果。 无需评估!