Как оценить формулу excel через API событий XSSF

Я читаю файлы XLSX с использованием API событий Apache POI, то есть читаю содержимое листа XLSX через SAX Parser. Я хочу знать, как мы можем получить вычисленное значение формулы с помощью API событий XSSF.

Способ, которым я это знаю, – это использовать класс FormulaEvaluator . Но так как formulaEvaluator принимает экземпляр класса Workbook, я не хочу использовать этот подход. (Я читаю файлы Excel, содержащие миллионы строк и 100 столбцов, поэтому, если я создаю объект Workbook этого Excel, мой сервер приложений выходит из памяти, и поэтому я использую Event API)

Как я могу выполнить оценку при синтаксическом анализе событий без экземпляра Workbook?

Как правило, кэшированное значение будет записано в ячейке, поэтому вы можете просто прочитать это (нет необходимости оценивать)

Взяв эту формульную ячейку в качестве примера:

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

Вы читаете значение f, чтобы получить формулу самостоятельно, или просто прочитайте значение v, чтобы узнать, какая была оценка формулы, когда Excel последний раз коснулся файла. Не нужно оценивать!

  • Как добавить листы в новую книгу по списку массивов
  • workbook.getTheme (). getThemeColor (bgColor.getIndex ()) возвращает нулевые / неправильные ссылки на цвет
  • Как предотвратить изменение размера диаграммы из заданной высоты строки в poi
  • Как преобразовать цвет XSSF в формат Java.awt.color. потому что цвет XSSF не мог сравниться
  • XSSFSheet: индекс листа находится за пределами допустимого диапазона
  • Как установить setMissingCellPolicy для полей NULL в файлах XLSX, используя XSSF и SAX?
  • наилучший способ сопоставления полей excel с java-объектом
  • java.lang.NoClassDefFoundError: не удалось инициализировать класс org.apache.poi.openxml4j.opc.internal.marshallers.ZipPackagePropertiesMarshaller
  • POI-XSSF: пользовательские форматы данных
  • xlsx excel generation - никогда не видел этого раньше
  • autoSizeColumn () не подходит для XSSFSheet
  • Давайте будем гением компьютера.