如何通过XSSF事件API计算excel公式

如何通过XSSF事件API计算excel公式,excel,apache-poi,worksheet-function,xssf,Excel,Apache Poi,Worksheet Function,Xssf,我正在使用ApachePOI的事件API读取XLSX文件,也就是说,我通过SAX解析器读取XLSX表的内容。我想知道如何使用XSSF事件API获得公式的计算值 我知道这样做的方法是使用FormulaEvaluator类。但由于formulaEvaluator使用工作簿类的实例,所以我不想使用这种方法。(我正在读取包含100万行和100列的Excel文件,因此,如果我为该Excel创建工作簿对象,我的应用程序服务器将内存耗尽,因此我使用的是事件API) 在没有工作簿实例的情况下,如何在事件解析中进

我正在使用ApachePOI的事件API读取XLSX文件,也就是说,我通过SAX解析器读取XLSX表的内容。我想知道如何使用XSSF事件API获得公式的计算值

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


在没有工作簿实例的情况下,如何在事件解析中进行求值?

通常,缓存的值将使用单元格写入,因此您可以直接读取该值(无需求值)

以该公式单元格为例:

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

总数(B1:B9)
4995

您可以读取f值以获取公式本身,或者只读取v值以查看excel上次接触该文件时公式的计算结果。不需要评估

嘿@Gagravarr你能告诉我,如果我想读一个公式,例如,我需要求和(B1:B9),那么如何得到它?