是否可以在一张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")
Run Code Online (Sandbox Code Playgroud)
当您想将多个表写入同一工作表时,应创建工作簿,然后将数据写入其中,然后保存。您这样做的方式似乎正在覆盖数据。这是我会做的:
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")
Run Code Online (Sandbox Code Playgroud)