2014-12-29 2 views
1

Следующий код дает мне список всех функций, которые в настоящее время не поддерживаются Apache POI:Список не поддерживаемых функций в файле

Collection<String> unsupportedFuncs = WorkbookEvaluator.getNotSupportedFunctionNames(); 
    for (String unsupportedFunc : unsupportedFuncs) { 
    System.out.println(unsupportedFunc); 
} 

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

Я уже делал это «вручную», просматривая все ячейки всех листов, проверяя, имеет ли он формулу типа, добавляет ее в список и настраивает этот список на один выше, удаляя дубликаты (см. Проект «UnsupportedFormulas «на моем GitHub: https://github.com/Joey73/poi).

Нет ли более простого и лучшего способа сделать это?

ответ

0

На из Apache POI examples делает именно то, что вы хотите

документация Javadoc для CheckFunctionsSupported описывает его как:

Попытки заново оценить все формулы в книге, и сообщает, что (если таковые имеются) используемые функции формулы не поддерживаются (в настоящее время) Apache POI.

Здесь приведены примеры того, как оценивать формулы в файлах excel с использованием Apache POI, а также как обрабатывать ошибки при этом.

Вы можете найти эту программу в контейнере примеров POI, или вы можете захватить the source from SVN. Запустите это против вашего файла, и на выходе будет указано, что какие-либо используемые функции формулы не поддерживаются, и какие ошибки вычисления формулы встречаются