3

昨天我们迁移到我们公司的 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 版本 2.14.1 (2011-12-22) 平台:i386-pc-mingw32/i386 (32-bit)

语言环境:[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

附加的基础包:[1] stats graphics grDevices utils datasets methods base

其他附加包:[1] xlsxjars_0.4.0 rJava_0.9-3

通过命名空间加载(未附加):[1] tools_2.14.1 xlsx_0.4.2


有趣的是,XLConnect 包加载没有问题。编辑:好的,它加载没有问题,但加载工作簿不起作用:

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

所以也许这真的不是Java问题。但我不想将我所有的代码都重写到 XLConnect!

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

4

1 回答 1

4

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

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

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

于 2012-11-28T00:10:39.373 回答