2012-05-22 3 views
3

вчера мы перенесли на Windows 7 в нашу фирму, а также обновили пакеты java, а также R (до 2.14).Ошибка при загрузке пакета xlsx

Затем я попытался загрузить пакет XLSX, потому что я полагаюсь heavly на нем, но я получаю следующее сообщение об ошибке:

Error : .onAttach in attachNamespace() 
Error: .jnew("org/apache/poi/xssf/usermodel/XSSFWorkbook") 

Я попытался следующие, но это не сработало:

Sys.setenv(PATH=paste(Sys.getenv("PATH"),"C:\\Program Files (x86)\\Java\\jre6\\bin\\client",collapse=';')) 
options(java.parameters = "-Xmx1000m") 

Поскольку я никогда не работаю с java, я понятия не имею, что я могу сделать. Вы можете мне помочь?

Спасибо!

sessionInfo() R version 2.14.1 (2011-12-22) Platform: i386-pc-mingw32/i386 (32-bit)

locale: [1] LC_COLLATE=German_Austria.1252 LC_CTYPE=German_Austria.1252
[3] LC_MONETARY=German_Austria.1252 LC_NUMERIC=C
[5] LC_TIME=German_Austria.1252

attached base packages: [1] stats graphics grDevices utils datasets methods base

other attached packages: [1] xlsxjars_0.4.0 rJava_0.9-3

loaded via a namespace (and not attached): [1] tools_2.14.1 xlsx_0.4.2


Интересно то, что пакет XLConnect нагрузки без problems.EDIT: Хорошо, это грузы без проблем, но загрузки книги не работает:

Error: NoSuchMethodError (Java): org.apache.xmlbeans.XmlOptions.setSaveAggressiveNamespaces()Lorg/apache/xmlbeans/XmlOptions; 

Так может быть, это на самом деле нет проблемы с Java. Но я не хочу переписывать весь свой код на XLConnect!

Никто не знает, что я могу попробовать?

+0

Попробуйте загрузить только пакет rJava. Является ли ваш R 32-бит или 64? У меня была аналогичная проблема, и это было связано с тем, что я установил только 32-разрядную Java, а не 64 (которую вам придется устанавливать вручную) – Mikko

+0

Загрузка rJava работает! Я использую R 32 бит, потому что мне нужно установить соединение odcb, которое работает только с 32 бит. – rainer

+0

Хорошо, тогда это, вероятно, не ошибка Java. – Mikko

ответ

4

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

## Example where error occurs: 
install.packages('xlsx', lib='\\network\R\library') 
library('xlsx', lib='\\network\R\library')) 

Однако, если изменить местоположение по умолчанию для установки пакета в R, то вы должны быть в состоянии назвать библиотеку пакетов без ошибок. То есть, просто набрав install.packages («xlsx») и автоматически установив пакет в свое местоположение по умолчанию, разрешил пакет работать правильно.

Смежные вопросы