Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何使用openxlsx(具有相同的布局)修改Excel中的现有图纸?_R_Excel_Openxls - Fatal编程技术网

R 如何使用openxlsx(具有相同的布局)修改Excel中的现有图纸?

R 如何使用openxlsx(具有相同的布局)修改Excel中的现有图纸?,r,excel,openxls,R,Excel,Openxls,假设我创建以下Excel文件: 库(openxlsx) 图书馆(writexl) writexl::write_xlsx(列表(iris=iris,mtcars=mtcars),“example_modify_exceltab.xlsx”) 然后我想修改此文件中的现有图纸。我使用以下问题的答案: 保存工作簿: saveWorkbook(wb, "example_modify_exceltab1.xlsx", overwrite = TRUE) 现在的问题是文件exampl

假设我创建以下Excel文件:

库(openxlsx)
图书馆(writexl)
writexl::write_xlsx(列表(iris=iris,mtcars=mtcars),“example_modify_exceltab.xlsx”)
然后我想修改此文件中的现有图纸。我使用以下问题的答案:

保存工作簿:

saveWorkbook(wb, "example_modify_exceltab1.xlsx", overwrite = TRUE)

现在的问题是文件
example\u modify\u exceltab.xlsx
中的数据有列名,“example\u modify\u exceltab 1.xlsx”中的列名为空。我想实现的是,工作表
iris
mtcars
的列名仍然与
example\u modify\u exceltab.xlsx
中的列名相同。如何使用
openxlsx
实现这一点?

这似乎与同时使用两个软件包有关,即使在添加新的工作表之前进行保存,标题也会丢失

但您可以使用openxlsx软件包中的write.xls,它工作正常,只需更改这一行:

writexl::write_xlsx(list(iris = iris, mtcars = mtcars), "example_modify_exceltab.xlsx")
致:

您的脚本将按预期运行

saveWorkbook(wb, "example_modify_exceltab1.xlsx", overwrite = TRUE)
writexl::write_xlsx(list(iris = iris, mtcars = mtcars), "example_modify_exceltab.xlsx")
openxlsx::write.xlsx(list(iris = iris, mtcars = mtcars), "example_modify_exceltab.xlsx")