You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中使用XLConnect读取加密工作表时遇NoSuchMethodError错误求助

XLConnect读取加密Excel报错:NoSuchMethodError (Java)

问题描述

一直用XLConnect在R里读取带密码保护的Excel工作表,最近突然出现如下错误:

Error: NoSuchMethodError (Java): org.apache.xmlbeans.XmlCursor.close()V

我的R会话信息如下:

R version 4.2.2 (2022-10-31 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19044)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.utf8  LC_CTYPE=English_United States.utf8    LC_MONETARY=English_United States.utf8
[4] LC_NUMERIC=C                           LC_TIME=English_United States.utf8    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] XLConnect_1.0.6

loaded via a namespace (and not attached):
 [1] compiler_4.2.2  fastmap_1.1.0   cli_3.4.1       htmltools_0.5.3 tools_4.2.2     rstudioapi_0.14 yaml_2.3.6      rmarkdown_2.17 
 [9] knitr_1.40      xfun_0.34       digest_0.6.30   rJava_1.0-6     rlang_1.0.6     evaluate_0.17   fortunes_1.5-4 

已经更新过XLConnect包,但问题依然存在。

解决方法建议

这个错误本质是Java依赖库版本不兼容导致的——XLConnect依赖的Apache POI和XmlBeans库版本冲突,或是本地XmlBeans库缺少XmlCursor.close()方法(通常是版本过旧或文件损坏),可以尝试以下几种方案:

  • 彻底重装XLConnect与rJava
    先卸载现有包,重启R会话后重新安装:

    remove.packages(c("XLConnect", "rJava"))
    # 重启R后执行以下命令
    install.packages("rJava")
    install.packages("XLConnect", type = "source")
    

    若安装源码版报错(需本地编译环境),可改用CRAN的二进制版本安装。

  • 检查并调整Java环境
    XLConnect对Java 8兼容性最佳,高版本Java易引发兼容问题。先查看当前Java版本:

    system("java -version")
    

    若版本高于8,可降级至Java 8,再重新配置R的Java路径:

    library(rJava)
    Sys.setenv(JAVA_HOME = "你的Java 8安装路径,例如C:/Program Files/Java/jdk1.8.0_301")
    .jinit()
    
  • 更换加密Excel读取工具
    若上述方法无效,可改用其他支持加密Excel的R包,比如openxlsx2:

    install.packages("openxlsx2")
    library(openxlsx2)
    wb <- read_xlsx("你的文件路径.xlsx", password = "你的密码")
    

内容的提问来源于stack exchange,提问作者bswan23

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 20:00:47