Apache POI HSSF / XSSF - оценка формул, которые не живут в клетках - PullRequest
2 голосов
/ 19 декабря 2009

С известной формулой, извлеченной из электронной таблицы, возможно ли применить / оценить формулу, не находясь в реальной ячейке?

Полагаю, можно создать / найти пустую ячейку на листе (у кого-нибудь есть идеи, как это можно сделать эффективно?) И оценить формулу таким образом, но есть ли лучший способ?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2009

Excel позволяет вычислять формулу без необходимости находиться в ячейке. Вы можете сделать это с помощью старого языка макросов XLM с EVALUATE или через C API, а также через VBA с Application.Evaluate или Worksheet.Evaluate.

Конечно, эта информация может оказаться бесполезной, если у вас есть только извлеченная формула, а не доступ к Excel. Если вы знаете, что формулы будут достаточно простыми, я могу оценить их самостоятельно или с помощью другого инструмента (хотя я не знаю ничего конкретного). В целом, однако, вам потребуется не только доступ к Excel, но и сам документ, в котором находятся формулы, поскольку формула может вызывать пользовательские функции VBA / XLL, использовать определенные имена и т. Д.

0 голосов
/ 19 декабря 2009

Я не уверен, что POI - способ сделать это, учитывая, что он выглядит после создания / чтения / записи электронных таблиц. Вы смотрели на вызов COM-объекта Excel (скажем, через JACOB ) и запуск формул в самом Excel?

...