加载xlsx包时出错

时间:2012-05-22 07:38:00

标签: java r 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版本2.14.1(2011-12-22)   平台:i386-pc-mingw32 / i386(32位)

     

区域设置:   [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数据集方法库

     

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

     

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


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

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

所以也许它真的没有Java问题。但我不想将我的所有代码重新写入XLConnect!

没有任何想法我能尝试什么?

1 个答案:

答案 0 :(得分:4)

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

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

但是,如果在R中更改软件包安装的默认位置,则应该能够在没有错误的情况下调用软件包库。也就是说,只需输入install.packages('xlsx'),并将软件包自动安装到其默认位置,就可以使软件包正常工作。