你怎么把密码保护的excel文件读入r?

时间:2016-03-07 19:51:21

标签: r excel

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

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

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

3 个答案:

答案 0 :(得分:7)

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

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

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

安装Unlimited Strength 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

答案 1 :(得分:7)

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

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

(与测试文件不同,我需要的文件只有一个密码,因此我不需要最后一个参数。)

答案 2 :(得分:3)

整合之前的答案:我也想这样做,但发现 excel.link 包在最新的 R 版本中存在问题,导致 R 崩溃。 XLConnect 可能有效,但由于需要额外安装而变得复杂,否则您可能不需要这些安装。

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

相关问题