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

tel*_*eth 16 excel r

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

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

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

小智 9

我只是xl.read.fileexcel.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
Run Code Online (Sandbox Code Playgroud)

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

  • xl.read.file 函数导致 R 崩溃 (2认同)

use*_*494 8

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

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

install.packages("XLConnect")
install.packages("XLConnectJars")
Run Code Online (Sandbox Code Playgroud)

安装Unlimited Strength Java(TM)密码术扩展策略文件(在OS X和Windows上是必需的 - 在OpenJDK 1.8的Ubuntu Linux上不需要)

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

如何在OS X中安装无限强度JCE for Java 8?

library(XLConnect)
Run Code Online (Sandbox Code Playgroud)

使用测试文件:

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
Run Code Online (Sandbox Code Playgroud)


Mat*_*teo 7

整合之前的答案:我想做同样的事情,发现该excel.link包与今天最新的 R 版本存在问题,导致 R 崩溃。 XLConnect可能可行,但由于需要额外的安装而变得复杂,而这些额外的安装对您来说可能是不必要的。

我发现这xlsx::read.xlsx()有一个password论点,并且在我的情况下效果很好。对我来说这是最实用的解决方案。