r - 将多个 data.frame 导出到多个 Excel 工作表的简单方法

标签 r excel xlsx

我惊讶地发现没有简单的方法可以将多个data.frame导出到一个Excel文件的多个工作表中?我尝试了 xlsx 包,似乎它只能写入一张纸(覆盖旧纸);我也尝试过 WriteXLS 包,但它总是给我错误......

我的代码结构是这样的:根据设计,对于每次迭代,输出数据框(tempTable)和sheetName(sn)都会更新并导出到一个选项卡中。

for (i in 2 : ncol(code)){ 
        ...
        tempTable <- ...
        sn <- ...
        WriteXLS("tempTable", ExcelFileName = "C:/R_code/../file.xlsx",
              SheetNames = sn);
}

我可以导出到多个 cvs 文件,但在 Excel 中必须有一种简单的方法来做到这一点,对吧?

最佳答案

您可以使用 xlsx 包写入多个工作表。您只需为每个数据框使用不同的 sheetName 并添加 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

关于r - 将多个 data.frame 导出到多个 Excel 工作表的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27713310/

相关文章:

java - Apache -poi。 XSSF。练习册

r - 在 R 中制作网络动画

r - 如何在 dplyr 中分组并获取离散列的相反值?

r - 为什么 R GBM 模型预测与模型拟合不匹配?

r - 如何在 R 中编写 Bootstrap Probit 模型的代码选择

python - xlwings UDF 可以返回 numpy 数组列表吗?

vba - 使用 FSO MoveFile 和 Name-As 重命名文件不起作用

excel - 在excel VBA中循环列行直到为空

excel - 在 Excel 中获取 numFmtID 的正确 FormatCode

vim - 用vim打开xlsx