闪亮的应用程序下载按钮仅响应HTML

时间:2020-06-13 21:39:58

标签: r shiny shinyapps

当我尝试在Shiny App中实现下载按钮时遇到了一个问题。每次我运行该应用程序时,它只会显示一个HTML文件,而不显示实际的内容文件。这是我的服务器和UI部分代码。

library(shiny)
library(reticulate)

shinyServer(function(input,output){

  reticulate::source_python("function.py")
  data_xi <- run_xi(26)

  output$downloadData <- downloadHandler(

    filename = function(){
      paste(Sys.time(), 'site_mtx.xlsx')
    },

    content = function(file){
      write_xlsx(data_xi, file)
    }
  )
})

这是用户界面:

library(shiny)

shinyUI(fluidPage(
    downloadButton("downloadData", "Download Metrics Reports")
))

我只是试图在我的python文件中使用网状函数,并将处理后的数据帧保存到Shiny App,可以下载,非常感谢!

1 个答案:

答案 0 :(得分:1)

我在代码中进行了一些调整(例如,我没有您的文件),并且该文件通常会下载xlsx文件。添加data.frame(run_xi(26)),如果这不是问题,也许可以使用“ writexl”库​​。 希望对您有所帮助。

library(shiny)
library(reticulate)
library(writexl)


if (interactive()) {

ui <-fluidPage(
    downloadButton("downloadData", "Download Metrics Reports")
)


server <- function(input,output){

data_xi <- data.frame(s = c(1:3),r = c(4:6), x =c(19:21))


    output$downloadData <- downloadHandler(

        filename = function(){
            paste(Sys.time(), 'site_mtx.xlsx')
        },

        content = function(file){
            write_xlsx(data_xi, file)
        }
    )
}

shinyApp(ui, server)

}

相关问题