我的桌面上有一个xlsx工作簿和现有的工作表。我在R中有一个数据框架,我想将其添加到此工作簿中作为新工作表。
使用library(openxlsx)
我想做:
wb <- loadWorkbook("workbook.xlsx", isUnzipped=TRUE)
addWorksheet(wb, "New_Sheet")
writeData(wb, "New_Sheet", df)
saveWorkbook(wb, "workbook.xlsx", overwrite=TRUE)
但是程序在第一行失败了:
wb <- loadWorkbook("workbook.xlsx", isUnzipped=TRUE)
我得到错误信息:
Error in match(sheetrID, file_rIds): object sheetrId not found
我还创建了一个虚拟文件(excel工作簿中只有两个现有的工作表和每个工作表中的一些虚拟字符串),我得到相同的错误信息。
我也试过卸载openxlsx并重新安装。没有变化。
正如@MrFlick在评论中提到的(谢谢!),Excel文件实际上是包含XML文件的压缩文件。因此,工作簿必须先解压缩,然后才能在r中打开。