写一个r列表到一个excel文件

我有一个包含5个不同长度的数据框的列表。 我想把这些数据框写在同一张Excel表里。

我已经尝试使用WriteXLS()write.xlsx()但不能得到所需的结果。

下面是一个示例,其中xlsx包函数用于在同一个工作表上编写5个不同的表格:

 library(xlsx) ### create a sample list set.seed(123) theList <- list() theList$df1 <- data.frame(a=1:5,b=sample(c('X','Y','Z'),5,T)) theList$df2 <- data.frame(a=1:3,b=sample(c('X','Y','Z'),3,T),c=sample(c('A','B','C'),3,T)) theList$df3 <- data.frame(answer=42) theList$df4 <- data.frame(x=1:2,y=sample(c('I','J','K'),2,T),z='M') theList$df5 <- data.frame(m=1.2345,n='foo') ### wb <- createWorkbook() sheet <- createSheet(wb,"SheetNameHere") currRow <- 1 for(i in 1:length(theList)){ cs <- CellStyle(wb) + Font(wb, isBold=TRUE) + Border(position=c("BOTTOM", "LEFT", "TOP", "RIGHT")) addDataFrame(theList[[i]], sheet=sheet, startRow=currRow, row.names=FALSE, colnamesStyle=cs) currRow <- currRow + nrow(theList[[i]]) + 2 } saveWorkbook(wb,file = "myXlsx.xlsx") 

结果:

Excel快照