Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将命名的data.frames列表写入xlsx文件_R_Io_Xls_Xlsx_Rjava - Fatal编程技术网

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

将命名的data.frames列表写入xlsx文件,r,io,xls,xlsx,rjava,R,Io,Xls,Xlsx,Rjava,我试图使用该包将命名数据帧列表保存到xlsx文件中。列表中的数据帧都已命名,但如果它也能处理列表中未命名的元素,那就太好了 以下是我编写的函数: toXLS <- function(myList,myFile) { #Initialize output workbook require(xlsx) wb <- createWorkbook() for (name in names(myList)) { createSheet(wb,

我试图使用该包将命名数据帧列表保存到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=''))

toXLS在调用
write.xlsx
时使用
append=TRUE
,首先创建Excel文件:

wb <- createWorkbook()
saveWorkbook(wb, 'output.xlsx')

如何覆盖现有文件,然后将命名的工作表附加到其中?当我运行上述代码时,通过更改
append=TRUE
,我在.jcall(wb,“Lorg/apache/poi/ss/usermodel/Sheet;”、“createSheet”,:java.lang.IllegalArgumentException:工作簿中已经包含了一个同名工作表
lapply(names(myList), function(x) write.xlsx(myList[[x]], 'output.xlsx', sheetName=x, append=TRUE))