【发布时间】:2021-03-08 03:41:32
【问题描述】:
我发现一个旧线程 (How do you read a password protected excel file into r?) 建议我使用以下代码读取受密码保护的文件:
install.packages("excel.link")
library("excel.link")
dat <- xl.read.file("TestWorkbook.xlsx", password = "pass", write.res.password="pass")
dat
但是,当我尝试这样做时,我的 R 会立即崩溃。我试过删除 write.res.password 参数,这似乎不是问题。我有一种预感,excel.link 可能不适用于最新版本的 R,所以如果您知道任何其他方法可以做到这一点,我将不胜感激。
编辑:使用 read.xlsx 会产生此错误:
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "newInstance", .jfindClass(class), :
org.apache.poi.poifs.filesystem.OfficeXmlFileException:
The supplied data appears to be in the Office 2007+ XML.
You are calling the part of POI that deals with OLE2 Office Documents.
You need to call a different part of POI to process this data (eg XSSF instead of HSSF)
【问题讨论】:
-
你试过 xlsx 包中的read.xlsx 吗?不幸的是,它确实需要 Java + rJava 包。
-
@neilfws 我试过那个包,但遇到了一个错误。我会把它添加到帖子中。这可以通过安装 rJava 包来解决吗?
-
您将需要安装
rJava并可能根据您的操作系统对其进行配置。这并不总是那么容易,这就是为什么readxl是首选的原因。不幸的是,readxl不处理受密码保护的文件(据我所知)。
标签: r xlsx password-protection