【问题标题】:R NoSuchMethodError (Java) when writing to MS Excel work sheet with XLConnect使用 XLConnect 写入 MS Excel 工作表时的 R NoSuchMethodError (Java)
【发布时间】:2017-06-28 16:00:38
【问题描述】:

我有一个预先格式化的 Microsoft Excel 工作簿,用作模板。然后,我想将我的 data.table 从 R 粘贴到工作簿中,保持列标题和格式不变。

这对于 XLConnect 包应该是可行的:

# Load library    
library(XLConnect)

# Load pre-formatted MS Excel workbook
wb <- loadWorkbook("Myworkbook.xlsx")

# Write data.table to existing worksheet excluding column names:    
writeWorksheet(wb, mydt, sheet = "Datasheet1", startRow = 3, startCol = 1, header = FALSE)

# Save the data to the workbook    
saveWorkbook(wb)

但是,当我运行它时,我收到以下 java 错误:

Error: NoSuchMethodError (Java): org.apache.poi.ss.usermodel.Cell.setCellType(Lorg/apache/poi/ss/usermodel/CellType;)V

我使用 R 版本 3.4.0 和 RStudio 版本 1.0.143 以及 XLConnect_0.2-13 和 rJava_0.9-8,Java 版本是 Windows 7 操作系统上的 Java 8 Update 66(64 位)和 Microsoft办公室 2010。

任何关于为什么这可能不起作用的想法将不胜感激 - 我可以从头开始创建工作簿和工作表,因此似乎只是将数据附加到现有工作表会受到影响。

【问题讨论】:

  • 不知道,但如果你厌倦了 Java 错误,你可以试试openxlsx,它不会使用它。
  • 谢谢 - 会尝试一下,我都是为了放弃依赖于 java 的解决方案,因为它们似乎总是会导致问题
  • openxlsx 运行良好 - 将保留此问题以查看是否有人知道 java 错误,但为我的工作流程切换到 openxlsx

标签: java r excel xlconnect


【解决方案1】:

我也遇到了同样的问题,发现在 XLConnect 的 0.2-13 版本中,有一个迁移到 Apache POI 3.16。

类似地,Apache Commons 项目被添加到它的依赖包 XLConnectJars - 我认为问题可能出在这,因为这里可能有一些功能被弃用。

已提出此问题,但未在 XLConnect GitHub 页面上解决。

编辑:现在已经在 XLConnect GitHub 页面上解释了这个问题。简而言之,最新版本的 XLConnect 无法与 xlsx 包一起运行,因为它们使用不同版本的 Apache POI。你可以找到帖子here。在对 xlsx 进行更新之前,以下解决方案对于快速修复仍然有效。

由于我已经在 XLConnect 中编写了工作代码,并且由于时间限制在 openxlsx 中重写脚本,我发现降级到 XLConnect/XLConnectJars 版本 0.2-12 可以解决此问题。

我发现最快的方法是卸载 XLConnect 和 XLConnectJars,然后运行以下命令:

#Assuming devtools is already installed
library(devtools)

install_version("XLConnectJars", version = "0.2-12", repos = "http://cran.us.r-project.org") 
install_version("XLConnect", version = "0.2-12", repos = "http://cran.us.r-project.org")`

【讨论】:

    猜你喜欢
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    相关资源
    最近更新 更多