Openxlsx包 – 在一个表中写多个表?

是否可以在一个Excel表格中写入多个表格? 从我所尝试的,我看到只有最后一个对象被写入文件。 这可能是我每次覆盖文件。 所以我想知道如何修改代码在同一个表中写入两个表? 谢谢

data.sets <- ls("package:datasets")[c(5,7)]# list of data set names foonames <- paste0("foo", seq_along(data.sets)) count <- length(data.sets) my.list <- list() for (i in 1:count) my.list[[foonames[i]]] <- get(data.sets[[i]]) lapply(my.list, dim) filen<-sprintf('H:\\11_Analysis\\01_Eye Study\\Output\\Eyestudy1_%s.xlsx', Sys.Date()); library(openxlsx) options("openxlsx.dateFormat" = "yyyy-mm-dd") wb<-write.xlsx(my.list$foo1, filen, startCol =2, startRow = 1, asTable = T, withFilter = T, colWidths="auto") wb<-write.xlsx(my.list$foo1, filen, startCol =2, startRow = 15, asTable = T, withFilter = T, colWidths="auto") 

当您想要将多个表写入同一张表时,您应该创build该工作簿,然后将数据写入到该表中,然后将其保存。 你这样做的方式似乎是覆盖数据。 这是我会做的:

 wb <- createWorkbook() addWorksheet(wb, sheetName = "sheet1") writeData(wb, sheet = 1, x = df, startCol = 2, startRow = 2) writeData(wb, sheet = 1, x = df2, startCol = 2, startRow = 24) saveWorkbook(wb, file = "path/to/file.xslx")