【发布时间】:2021-05-11 21:26:20
【问题描述】:
目前我正在为一位客户准备 R 课程。我们想从受密码保护的 xlsx 文件中读取数据。因此,我试图将这个受密码保护的 xlsx 文件读入 R (取消保护文件本身不是解决方案)。不幸的是,我不能使用包括安装附加软件的方法,例如 Java。
openxlsx、readr 和 readxl 似乎都不支持在读取 excel 文件时使用密码。
似乎有两个软件包支持这一点:xlsx 和 excel.link 我已经尝试过 xlsx 包,但它需要 Java。 XLConnect
也是如此我已经尝试过 excel.link 包,但每次我尝试打开文件时它都会崩溃(“R 会话中止”)。 RDCOMClient也是如此。
不幸的是,Stackoverflow 帖子不适合我的问题:
How do you read a password protected excel file into r?
How to read an .xls file that is encrypted with R?
Import password-protected xlsx workbook into R
Reading Any kind of password protected file into R
How to read an .xls file that is encrypted with R?
在遇到这些问题后,我刚刚更新了我所有的包。这是关于我的 R 版本的信息。
version
_
platform x86_64-w64-mingw32
arch x86_64
os mingw32
system x86_64, mingw32
status
major 4
minor 0.3
year 2020
month 10
day 10
svn rev 79318
language R
version.string R version 4.0.3 (2020-10-10)
nickname Bunny-Wunnies Freak Out
您知道其他适合我需要的软件包吗?您是否也知道为什么 excel.link 和 RODCOMClient 似乎根本不起作用?
非常感谢您的任何建议!
【问题讨论】:
-
您无法在 Excel 中打开文件,然后将数据复制/粘贴到新文件中?
-
对不起,如果我没有清楚地表达自己的意思:我确实有密码,我可以撤消密码保护。但解决方案的一部分需要是原始文件始终保持密码保护(我们可能会问这是否有意义,但无论如何我需要解决方案)。
-
feature request for readxl 的讨论(已关闭,未实现)很有趣 - 因为 Excel 会加密文件,似乎获取它的方法非常有限。要么是来自 MS 的 C++ v 11 包,要么是让 Excel 来做(可能是需要 Java 的包使用的方法......)。
-
我很想弄错,但在这一点上听起来有一些方法可以将受密码保护的 Excel 文件读入依赖 Java 的 R 中,并且有一些方法可以将 Excel 文件读入 R没有 Java,但不能两者兼有。
标签: r excel readxl openxlsx rdcomclient