apache poi, как отключить внешнюю ссылку или внешние ссылки? - PullRequest
0 голосов
/ 07 июля 2011

Я смотрю в Интернете уже 30 минут и не могу найти объяснения по этому поводу. Вот моя проблема:

Я написал приложение с poi для анализа некоторых данных из 200 файлов Excel или около того и поместил некоторые из них в новый файл. Я выполняю некоторую оценку ячеек в FormulaEvaluator, чтобы узнать содержимое ячеек, прежде чем выбрать, сохранять их или нет.
Теперь, когда я тестирую его на тестовом файле с только значениями в ячейках, программа работает отлично, но когда я использую его в своей куче файлов, я получаю эту ошибку:

"не удалось разрешить имя внешней книги"

Есть ли способ игнорировать внешние ссылки на рабочую книгу или настроить среду так, чтобы она не оценивала формулу с внешними ссылками?
Потому что те, которые мне нужны, не содержат ссылок ...

Спасибо

1 Ответ

0 голосов
/ 08 июля 2011

Можете ли вы не просто поймать ошибку и пропустить эту ячейку?

Вы получаете ошибку, потому что попросили POI оценить формулу в ячейке, и эта формула ссылается надругой файл.Однако вы не указали POI, где найти файл, на который ссылается, поэтому он возражает.

Если вам не нужны ячейки с внешними ссылками, просто перехватите исключение и перейдите к следующей ячейке.

Если вам все равно, вам нужно сообщить POI, где найти ваши файлы.Это делается с помощью метода setupEnvironment (String [], Evaluator []) - передайте ему массив имен рабочих книг и соответствующий массив оценщиков для этих книг.

...