我想添加一个新的工作表,避免在使用R中的writexl包时替换excel中的现有工作表



我使用R中的writexl包将数据帧导出到excel工作表。

library(writexl)

但是,当我使用以下代码时,新的数据框(resoredered2(将替换现有的excel工作表,而不是按照代码中的规定导出到新的工作表(Sheet2(中。

write_xlsx( list (Sheet2 = resordered2), "C:\Users\Bharath\Desktop\fastqc\write.xlsx", col_names = TRUE)

我能看到的解决这个问题的唯一方法是一次创建所有日期框,并将它们全部列在list参数下。

我最好是一个接一个地处理数据帧。有没有一种方法可以避免使用write_xlsx函数覆盖现有工作表并将新工作表添加到excel文件中?

如果您想向现有.xlsx文件添加另一张图纸,可以使用库xlsx的函数write.xlsx来完成。在参数sheetName中指定新图纸的名称,并设置参数append=TRUE

例如:

library(xlsx)
write.xlsx(data, file="filename.xlsx", sheetName="newsheet", append=TRUE)

更新:因为你有xlsx的问题,你可以试着像这个一样使用库openxlsx

library(openxlsx)
wb <- createWorkbook()
addWorksheet(wb, sheetName = "newsheet_1")
writeData(wb, sheet = "newsheet", data_1)
addWorksheet(wb, sheetName = "newsheet_2")
writeData(wb, sheet = "newsheet_2", data_2)
saveWorkbook(wb, "filename.xlsx")

最新更新