0

在 R Shiny-App 中,我试图让下载处理程序使用 XLConnect 将几个 data.tables(存储为反应值)保存在一个现有的 .xlsx 文件中,每个文件都在一个新的工作表中,我不知道我做错了什么。谢谢您的帮助。例子:

output$saveDTs <- downloadHandler(
    filename = paste0( codeNr, "file_.xlsx"),
    content = function( file ) {
      if ( (is.null(values$dt1)) && (is.null(values$dt2)) & (is.null(values$dt3)) ) { return() }

      fname <- paste0(file, ".xlsx")
      wb <- loadWorkbook( fname, create = TRUE)

      if(!is.null(values$dt1 ) ){ 
        dt1 <- values$dt1
        createSheet( wb, "DT1" )
        writeWorksheet( wb, dt1, sheet = "DT1") 
      }
      if(!is.null(values$dt2 ) ){ 
        dt2 <- values$dt2
        createSheet( wb, "DT2" )
        writeWorksheet( wb, dt2, sheet = "LDT2") 
      }
      if(!is.null(values$dt3 ) ){ 
        dt3 <- values$dt3
        createSheet( wb, "DT3" )
        writeWorksheet( wb, dt3, sheet = "DT3") 
      }
      saveWorkbook(wb)
      file.rename( fname, file )
    }
  )
4

0 回答 0