java-加载xlsx软件包时出错

提问

昨天我们迁移到公司的Windows 7,还更新了Java软件包和R(至2.14).

然后,我尝试加载xlsx软件包,因为我严重依赖它,但出现以下错误:

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包可以正常加载.编辑:好的,它可以正常加载,但无法加载工作簿:

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

因此,也许这真的不是Java问题.但是我不想将我的所有代码都重写为XLConnect!

没人知道我可以尝试什么吗?

最佳答案

我遇到了完全相同的错误,并找到了解决方法.如果您在网络上指定库位置以将软件包安装到其中,则会发生错误.

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

但是,如果您在R中更改了软件包安装的默认位置,那么您应该能够调用软件包库而不会出现错误.也就是说,只需键入install.packages(‘xlsx’),并将软件包自动安装到其默认位置,即可使软件包正常工作.