【问题标题】:How do you read a password protected excel file into r?如何将受密码保护的 excel 文件读入 r?
【发布时间】:2016-06-21 12:48:10
【问题描述】:

如何将受密码保护的 excel 文件读入 r?

我尝试过 excel.link,但它不适用于 R 版本 3.2.3(我的版本)

我也尝试了 RDCOMClient,但它也不适用于 R 版本 3.2.3

【问题讨论】:

  • 这些答案你试过了吗-stackoverflow.com/a/13997138
  • 是的,我有.. RDCOMClient 无法与我的 R 版本一起安装,所以我正在寻找另一个库或工作轮次
  • 什么版本的excel? xlsx?
  • 最新版本的 XLConnect 软件包 (0.2-12) 添加了此功能。在我的运行 R 3.3.2 的 Windows 10 机器上,此操作失败并显示错误:错误:NoClassDefFoundError (Java): com/microsoft/schemas/office/x2006/encryption/EncryptionDocument$Factory
  • 对于我们这些不想要 Java 依赖的人...任何无需额外安装 Java 即可读取受密码保护的 xlsx 文件的软件包?

标签: r excel


【解决方案1】:

XLConnect (0.2-13) 现在可以读取受密码保护的 excel 文件

安装最新版本的 XLConnect 和 XLConnectJars (0.2-13)

install.packages("XLConnect")
install.packages("XLConnectJars")

安装无限强度 Java(TM) 加密扩展策略 文件 (在 OS X 和 Windows 上是必需的 - 在带有 OpenJDK 1.8 的 Ubuntu linux 上不需要)

http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

How to install unlimited strength JCE for Java 8 in OS X?

library(XLConnect)

使用测试文件:

https://github.com/miraisolutions/xlconnect/files/794219/TestWorkbook.xlsx

wb <- loadWorkbook("TestWorkbook.xlsx", password="pass")
test <- readWorksheet(wb, "sheet1")

> data

  id value1 value2
1  1      1      5
2  2      2      4
3  3      3      3
4  4      4      2
5  5      5      1

【讨论】:

    【解决方案2】:

    我刚刚使用了excel.link 包中的xl.read.file

    https://rdrr.io/cran/excel.link/man/xl.read.file.html

    这很简单。

    使用与上一个答案 (https://github.com/miraisolutions/xlconnect/files/794219/TestWorkbook.xlsx) 相同的测试文件。

    install.packages("excel.link")
    
    library("excel.link")
    
    dat <- xl.read.file("TestWorkbook.xlsx", password = "pass", write.res.password="pass")
    
    dat
    

    (我需要的文件只有一个密码,不像测试文件,所以我不需要最后一个参数。)

    【讨论】:

    • xl.read.file 函数导致 R 崩溃
    【解决方案3】:

    整合以前的答案:我也想做同样的事情,发现excel.link 包在今天的最新 R 版本中存在问题,并使 R 崩溃。 XLConnect 可能有效,但由于需要额外的安装,这可能会给您带来不必要的麻烦。

    我发现 xlsx::read.xlsx() 有一个 password 参数,在我的情况下它工作得很好。 对我来说,这是最实用的解决方案。

    【讨论】:

    • xl.read.file 也为我崩溃了 R(在 RStudio 中)。 (2021-05-10)
    猜你喜欢
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    相关资源
    最近更新 更多