将命名的data.frames列表写入xlsx文件

Zac*_*ach 4 io xls r xlsx rjava

我尝试使用xlsx包将命名数据帧列表保存到xlsx文件中.列表中的数据框都已命名,但如果它也可以处理列表中未命名的元素,那将会很好.

这是我写的函数:

toXLS <- function(myList,myFile) {

    #Initialize output workbook
    require(xlsx)
    wb <- createWorkbook()
    for (name in names(myList)) {
        createSheet(wb, sheetName=name)
    }

    #Write blank workbook to file
    saveWorkbook(wb, myFile)

    #Write output data to saved workbook
    for (name in names(myList)) {
        write.xlsx(myList[[name]], myFile, sheetName=name)
    }
}

myList <- list(a=data.frame(1,2,3),b=data.frame('a','b','c'),d=data.frame('01-01-1900'))
toXLS(myList,paste(getwd(),'/output.xlsx',sep=''))
Run Code Online (Sandbox Code Playgroud)

它可以正常工作,但每次调用时都会覆盖输出工作簿write.xlsx.如何在工作簿中将data.frame作为工作表插入?

我没有与xlsx软件包结合,但它似乎为excel文件提供了一个很好的接口,只需要最少的设置.我也对其他好的选择持开放态度.

dar*_*zig 12

首先创建Excel文件:

wb <- createWorkbook()
saveWorkbook(wb, 'output.xlsx')
Run Code Online (Sandbox Code Playgroud)

然后附加每个工作簿:

lapply(names(myList), function(x) write.xlsx(myList[[x]], 'output.xlsx', sheetName=x, append=TRUE))
Run Code Online (Sandbox Code Playgroud)