假设我创建了以下Excel文件:
library(openxlsx)
library(writexl)
writexl::write_xlsx(list(iris = iris, mtcars = mtcars), "example_modify_exceltab.xlsx")然后,我想要修改此文件中现有的工作表。我使用以下问题的答案:How do I modify an existing a sheet in an Excel Workbook using Openxlsx package in R?
wb <- loadWorkbook("example_modify_exceltab.xlsx")然后我添加了一个包含数据‘USArrests’的工作表:
addWorksheet(wb, sheetName = "USArrests")
writeData(wb, sheet = "USArrests", USArrests, colNames = TRUE)保存工作簿:
saveWorkbook(wb, "example_modify_exceltab1.xlsx", overwrite = TRUE)现在的问题是文件example_modify_exceltab.xlsx中的数据有列名,而'example_modify_exceltab1.xlsx‘中的列名是空的。我希望实现工作表iris和mtcars仍然具有与example_modify_exceltab.xlsx中相同的列名。如何使用openxlsx实现这一点?
发布于 2021-04-19 20:14:54
这似乎与两个包一起使用有关,即使您在添加新工作表之前保存,标题也会丢失。
但是你可以从openxlsx包中使用write.xls,它工作得很好,只需更改这一行:
writexl::write_xlsx(list(iris = iris, mtcars = mtcars), "example_modify_exceltab.xlsx")至:
openxlsx::write.xlsx(list(iris = iris, mtcars = mtcars), "example_modify_exceltab.xlsx")并且您的脚本将按预期运行
https://stackoverflow.com/questions/67160308
复制相似问题