2017-07-25 73 views
1

當我用它來檢索我的報告時,我的下載按鈕顯示錯誤。該按鈕的輸出ID是downloadData。什麼似乎是錯誤?SHINY中的下載按鈕出錯

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

回答

1

the documentation

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

所以還必須將文件參數傳遞給write.csv功能。假設你要寫入的數據被稱爲csv_write,你應該做的:

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

工作實例

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) 

注意,是csv_write是一種反應或reactiveValue,你應該叫csv_write ()而不是csv_write。

+0

我正在下載的文件是以downloadData的名稱而不是最終報告。該文件也不是csv格式 –

+0

我不確定你的意思是什麼? – Florian

+0

上面的代碼中的錯誤是,我下載的文件不是最終報告的名稱,擴展名不在csv中。你爲什麼認爲這個問題存在? –

0

下面是應該爲你假設csv_write工作的代碼是你想下載的數據集:

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

和首先是你得到了什麼樣的錯誤?

+0

我正在下載的文件是以downloadData的名稱而不是最終報告。該文件也不是以csv格式 –