首页 > 解决方案 > 从 R 更新/导出到 excel 文件而不保存新工作簿(损坏图形和其他对象)

问题描述

我想将 R 中的数据写入现有的 excel 文件,该文件具有具有特定格式和多个工作表的预定义图形。

我已经尝试以多种方式做到这一点。最有希望的是 openxlsx 包(见下文)。这个解决方案的问题是,在使用该loadWorkbook()功能时,它似乎无法加载所有工作簿功能,例如复杂的图形格式、图片和 smartArt。这会导致保存时损坏的 Excel 工作簿。

wb <- loadWorkbook(file = "template.xlsx")                  
writeData(wb = wb,sheet = 1, startCol = sCol, startRow = sRow,x = genData)
saveWorkbook(wb, "populatedTemplate.xlsx", overwrite = T)

如果我可以直接将数据写入现有 Excel 工作簿的特定工作表,而不必将整个工作簿加载到内存中然后再重新创建它,那就太好了。该xlsx::write.xlsx()函数执行此操作,但是,只能将工作表附加到当前的 excel 文件,而不是写入特定工作表而不覆盖整个文件。

有人对此有解决方案吗?

标签: rexcelopenxlsx

解决方案


推荐阅读