0

R Shiny-App で、XLConnect を使用して、既存の .xlsx ファイルに複数の data.tables (リアクティブ値として格納されているもの) を保存するダウンロード ハンドラーを作成しようとしています。私が間違っていること。ご協力ありがとうございました。例:

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