2017-07-25 1 views
1

Mon bouton de téléchargement affiche une erreur lorsque je l'utilise pour récupérer mon rapport. L'identifiant de sortie du bouton est downloadData. Ce qui semble être l'erreur?Erreur avec le bouton de téléchargement dans SHINY

output$downloadData <- downloadHandler(
filename = function() { 
    paste('Final Report', '.csv', sep='') 
    }, 
content = function(file){ 
     write.csv(csv_write,row.names=FALSE, na="") 
}) 

Répondre

1

Voir the documentation:

content = function(file) { 
    write.csv(data, file) 
} 

Vous avez donc aussi de passer le paramètre de fichier à la fonction write.csv. En supposant que les données que vous voulez écrire est appelé csv_write, vous devez faire:

write.csv(csv_write, file, row.names=FALSE, na="") 

Exemple de travail

library(shiny) 

csv_write = data.frame(a=c(1,2,3),b=c(1,2,3)) 

server <- shinyServer(function(input, output, session) { 

    output$downloadData <- downloadHandler(
    filename = function() { 
     paste('Final Report', '.csv', sep='') 
    }, 
    content = function(file){ 
     write.csv(csv_write,file,row.names=FALSE, na="") 
    }) 


}) 

ui <-shinyUI(fluidPage(

     downloadButton('downloadData', 'Download data') 

)) 

shinyApp(ui,server) 

Notez que est csv_write est un réactif ou reactiveValue, vous devez appeler csv_write() au lieu de csv_write.

+0

Le fichier que je télécharge vient au nom de downloadData et non au rapport final. Ce fichier n'est pas non plus en format csv –

+0

Je ne suis pas sûr de ce que vous voulez dire par là? – Florian

+0

L'erreur dans le code ci-dessus est que le fichier que je télécharge n'est pas au nom du rapport final et l'extension n'est pas en csv. Pourquoi pensez-vous que ce problème existe? –

0

Voici le code qui devrait fonctionner pour vous en supposant que csv_write est le jeu de données qui vous voulez télécharger:

output$downloadData <- downloadHandler(
     "Final_Report.csv", content = function(file) { 
     write.csv(csv_write, file, row.names=FALSE, na="") 
     } 
    ) 

et avant tout ce genre d'erreur que vous obtenez?

+0

Le fichier que je télécharge vient au nom de downloadData et non de rapport final. Ce fichier n'est pas non plus au format csv –