*Hi, I\'m trying to download multiple csv file from a unique excel file. I want to download (using only one downloadbutton) the differents sheets from the excel file. I don\
As @BigDataScientist pointed out, you could zip all of your csv file and download the zipped file. Your downloadHandler
could look like:
output$download <- downloadHandler(
filename = function(){
paste0(input$text,".zip")
},
content = function(file){
#go to a temp dir to avoid permission issues
owd <- setwd(tempdir())
on.exit(setwd(owd))
files <- NULL;
#loop through the sheets
for (i in 1:input$sheet){
#write each sheet to a csv file, save the name
fileName <- paste(input$text,"_0",i,".csv",sep = "")
write.table(data()$wb[i],fileName,sep = ';', row.names = F, col.names = T)
files <- c(fileName,files)
}
#create the zip file
zip(file,files)
}
)
This does not download all the sheets from the excel file but the sheets ranging from 1 to whatever the user has as input in input$sheet
.
You could also disable the download button if the user has not added an excel file/name.