使我现有的 Excel 文件可供用户在闪亮的应用程序中下载

Make my existent Excel file available for users to download in shiny app

在我的应用程序中,用户应该从 Excel 文件中插入一些数据,但我想让他们能够在他们的计算机上下载一个 (TesteR.xlsx) 并将其用作例子。我尝试应用 解决方案,但它没有用,当我单击按钮时,它下载了一个有点奇怪的文件。

library(shiny)

ui <- fluidPage(
  downloadButton("downloadOP", label = "Download")
)

server <- function(input, output){
  output$downloadOP <- downloadHandler(
    filename = "ph1data",
    content = function(file) {
      file.copy("www/TesteR.xlsx", file)
    }
  )
}

shinyApp(ui, server)

我还按照另一个问题中的建议将文件包含在 www 文件夹中,但也许我遗漏了一些东西。

非常感谢任何帮助!

确保您的 www 文件夹与 app.rserver.r/ui.r 文件位于同一目录中。闪亮的服务器必须可以读取它。

因为你没有说明你的应用程序如何 started/served(从你的计算机,在服务器上,什么样的服务器,使用 shiny/server,在 shinyapps.io,shinyproxy, ...) 进一步的建议不会很有用。

我也会将文件扩展名添加到filename = "ph1data.xlsx"

如果您将 A 标签添加到您的 UI,它有效吗? (target="self" 阻止打开新标签页)

ui <- fluidPage(
  downloadButton("downloadOP", label = "Download"),
  tags$a("Download", href="TesteR.xlsx", target="self")
)

如果您将图像(例如 test.jpg)放入您的 www 文件夹并向您的 UI 添加一个 IMG 标签,它会显示图像吗?

ui <- fluidPage(
  downloadButton("downloadOP", label = "Download"),
  tags$a("Download", href="TesteR.xlsx", target="self", class="btn btn-primary"),
  tags$img(src="test.jpg")
)