我正在学习R中的openxlsx
包。我可以使用loadWorkbook()
将Excel文件加载到工作簿中。到目前为止,一切都很好。当我尝试使用saveWorkbook()
将此工作簿保存到磁盘时,我会收到以下错误消息:
Error in write_worksheet_xml_2(prior = prior, post = post, sheet_data = ws$sheet_data, :
CHAR() can only be applied to a 'CHARSXP', not a 'NULL'
当我使用原始名称(和overwrite = TRUE
选项(,尝试保存到新文件时,无论是否编辑文件内容,都会发生同样的情况。
我在
- macOS 10.14.6
- R 4.0.2
- Rstudio 1.3.1093,以及
- openxlsx 4.2.3
这里有人能帮我找到解决方案吗?我无法从错误消息中判断从哪里开始寻找解决方案。搜索网页没有得到有用的结果。
我遇到你的问题是因为我也有同样的问题。
经过大量的尝试和错误,我意识到这个问题可以追溯到我的excel文件中的各个行被分组的事实(使用Excellents group函数(。删除这些分组后,按照常规程序将工作表添加到现有工作簿中没有任何问题:
wb <- loadWorkbook("myfile.xlsx")
writeData(wb, sheet = "mysheet", mydataframe)
saveWorkbook(wb, "myfile.xlsx", overwrite = T)
我希望这个答案能帮助同样面临这个问题的人:(