后端 - 如何制作一个可以在SHINY中下载结果的csv文件?

时间:2017-07-20 08:47:24

标签: r shiny

如何使用以下代码编写csv文件供用户下载?用户如何使用下载按钮检索此文件? write.csv(csv_write,file =“test.csv”,row.names = FALSE,na =“”)

1 个答案:

答案 0 :(得分:3)

在您的服务器功能中,您可以编写下载处理程序:

output$downloadData5 <- downloadHandler(
    filename = function() {'test.csv'},
    content = function(file) {
      write.delim(ftext(), file, row.names = FALSE,sep="\t")
    }
  )

其中ftext()是一个函数,它返回您想要下载为csv的数据帧 您的UI将具有dashboardBody()函数,您可以在其中使用下载按钮:

 tabPanel('First Touch Point Campaign Level', 
                 downloadButton('downloadData5', 'Download This Data !!',
                                style="display: block; margin: 0 auto; width: 230px;color: black;"),
                 dataTableOutput('datatable5'))   

ftext()是返回数据帧的反应函数。代码如下:

 ftext <- eventReactive(input$goButton, {
    df =   data.frame(replicate(10,sample(0:1,10,rep=TRUE)))     
    return(df)
  })