Ошибка XLConnect loadWorkbook — POIXMLException (Java)

Я пытаюсь загрузить здоровенную книгу Excel (формат .xlsm, ~ 30 МБ), содержащую большое количество вычислений массива.

> wb1 <- loadWorkbook("Mar_SP_20130227_V6.1.xlsm")
Error: POIXMLException (Java): java.lang.reflect.InvocationTargetException

Но я могу успешно загрузить версию книги только для значений/без макросов.

> wb2 <- loadWorkbook("Mar_SP_20130227_V6.1_VALUES_ONLY.xlsx")
> wb2
[1] "Mar_SP_20130227_V6.1_VALUES_ONLY.xlsx"

Что может быть причиной ошибки?

На веб-сайте сопровождающего я вижу что могут быть проблемы с рабочими книгами, содержащими вычисления массива или неподдерживаемые функции формул, но это не похоже на ту же ошибку.

Информация о Яве:

C:\> java -version
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode)

person Tommy O'Dell    schedule 05.04.2013    source источник
comment
Что такое полная трассировка стека? (Должно быть намного больше, чем просто одна строка)   -  person Gagravarr    schedule 05.04.2013
comment
Привет, Гаграварр, это все, что предоставляется пользователю (мне) пакетом XLConnect R (который использует ApachePOI). Есть ли журналы в каталоге java, которые показывали бы мне трассировку?   -  person Tommy O'Dell    schedule 05.04.2013


Ответы (1)


Оказывается, причиной этой ошибки была нехватка памяти JVM (даже с options(java.parameters = "-Xmx1024m")).

Я попытался увеличить объем памяти, но не смог заставить JVM занимать больше -Xmx2048m, чего все равно было недостаточно для загрузки книги.

Поэтому я обновил JRE с 32-битной до 64-битной и запустил 64-битную версию R.

Затем я смог установить -Xmx4096m и успешно загрузить свою 30-мегабайтную книгу.

person Tommy O'Dell    schedule 10.04.2013
comment
Все еще не работает для меня. Я получаю сообщение об ошибке: POIXMLException (Java): java.lang.reflect.InvocationTargetException. Мои файлы XLSB имеют размер более 100 МБ. :-/ - person Waldir Leoncio; 28.06.2013
comment
Что вы установили для -Xmx4096m? Сколько оперативной памяти у вашего компьютера? - person Tommy O'Dell; 18.12.2013
comment
Я пробовал разные настройки, и на моей машине 24 ГБ ОЗУ. Процессор — Intel Xeon с тактовой частотой 2 ГГц. - person Waldir Leoncio; 18.12.2013