【发布时间】:2021-05-03 13:23:08
【问题描述】:
我尝试安装 java 并使用 XLConnect 包 mmethods(两者),但我收到如下所示的错误:
错误:IOException (Java):您的 InputStream 既不是 OLE2 流,也不是 OOXML 流
我绝对不会尝试加载空文件,而且我确实有权访问/允许从文件位置读取。我可能做错了什么?
我尝试安装 java 并使用 XLConnect 包 mmethods(两者),但我收到如下所示的错误:
错误:IOException (Java):您的 InputStream 既不是 OLE2 流,也不是 OOXML 流
我绝对不会尝试加载空文件,而且我确实有权访问/允许从文件位置读取。我可能做错了什么?
我已经调查了这些相关问题,但没有成功。
【问题讨论】:
-
根据使用的
.xls版本,它实际上可能是.xml。见:github.com/tidyverse/readxl/issues/635#issuecomment-734504530 -
我刚刚检查了它,根据我阅读的内容,我不确定一个好的诊断,即如何判断它是否是 XML?
-
您可以尝试重命名文件的扩展名并以这种方式打开它,或者使用
xml2包在R 中打开它,看看是否有效(xml2::read_xml())。如果这不起作用,您能否打开.xls并再次将其另存为.xlsx? -
这实际上是一个 slx 文件的文件夹,所以我希望找到一个可以与 sapply() 一起使用的函数来自动完成。我尝试了 read_xml() 并得到了一个错误。实际上,我刚刚找到了一个 VBA 脚本,可以将我的文件自动转换为 csv,以便在此期间可以正常工作,但我仍然希望“清理”这个过程。
-
我怀疑
.xls文件仍然是不同的文件类型,但如果没有文件本身,我无法确定。如果您还没有看到它,看看这个答案是否有用:stackoverflow.com/a/27083260/6891484。此外,请确保在尝试将文件加载到 R 时未打开该文件,因为这似乎也会导致问题。