将多个数据框导出到多个Excel工作表的简便方法
将多个数据框导出到多个Excel工作表的简便方法
我惊讶地发现没有一种简单的方法可以将多个Data.Frame导出到Excel文件的多个工作表中?我尝试了xlsx包,似乎只能写入一个工作表(覆盖旧表);我还尝试了WriteXLS包,但一直给我错误...
我的代码结构如下:按设计,对于每个迭代,输出Data.Frame(tempTable)和Sheet名称(sn)都会更新并导出到一个标签页中。
for (i in 2 : ncol(code)){ ... tempTable <- ... sn <- ... WriteXLS("tempTable", ExcelFileName = "C:/R_code/../file.xlsx", SheetNames = sn); }
我可以导出到多个cvs文件,但肯定有一种在Excel中做到这一点的简单方法,对吧?
admin 更改状态以发布 2023年5月21日
You can write to multiple sheets with the xlsx
package. You just need to use a different sheetName
for each data frame and you need to add append=TRUE
:
library(xlsx) write.xlsx(dataframe1, file="filename.xlsx", sheetName="sheet1", row.names=FALSE) write.xlsx(dataframe2, file="filename.xlsx", sheetName="sheet2", append=TRUE, row.names=FALSE)
另一个选择是在R/xlsx代码中完成所有操作,可获得更多对格式和数据框放置位置的控制,然后在最后保存工作簿。例如:
wb = createWorkbook() sheet = createSheet(wb, "Sheet 1") addDataFrame(dataframe1, sheet=sheet, startColumn=1, row.names=FALSE) addDataFrame(dataframe2, sheet=sheet, startColumn=10, row.names=FALSE) sheet = createSheet(wb, "Sheet 2") addDataFrame(dataframe3, sheet=sheet, startColumn=1, row.names=FALSE) saveWorkbook(wb, "My_File.xlsx")
如果你觉得有用的话,以下是一些有趣的辅助函数,可以更轻松地使用xlsx
添加格式、元数据和其他特性到电子表格中:http://www.sthda.com/english/wiki/r2excel-read-write-and-format-easily-excel-files-using-r-software