【问题标题】:Error loading xlsx package加载 xlsx 包时出错
【发布时间】:2012-05-28 16:35:02
【问题描述】:

昨天我们迁移到我们公司的 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,所以我不知道我能做什么。你能帮助我吗?

谢谢!

会话信息() 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 datasets methods base

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

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


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

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

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

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

【问题讨论】:

  • 尝试仅加载 rJava 包。你的 R 是 32 位还是 64 位?我遇到了类似的问题,那是因为我只安装了 32 位 Java,而不是 64(您必须手动安装)
  • 加载 rJava 有效!我使用 R 32 位,因为我需要建立一个仅适用于 32 位的 odcb 连接。
  • 好的,那可能不是Java错误。
  • 现在我确实设置了路径变量,但也不起作用。顺便说一句,我的 windows 7 是 64 位版本
  • xlsx 在 Windows 7 的 32 位和 64 位 R 2.15.0 上为我加载。您可以尝试安装 R 2.15.0 吗?

标签: java r xlsx


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-31
    相关资源
    最近更新 更多