【问题标题】:Download Excel by using R Shiny使用 R Shiny 下载 Excel
【发布时间】:2017-03-24 01:55:54
【问题描述】:

我想构建一个可以下载 excel 文件的网络应用程序。但是我在使用网络应用程序时遇到了一个问题:单击“下载”按钮后,它显示文件名像我上传的图片一样在引号中,单击后我的文档中找不到任何内容“保存”按钮,无论我是否删除引号。

有没有人有好的建议来解决这个问题? 感谢您的帮助。

library(shiny)
library(shinydashboard)
library(XLConnect)

ui <- dashboardPage(
  dashboardHeader(title = "excel download"),
  dashboardSidebar(downloadLink("downloadData", "Download")),
  dashboardBody(),
  skin = "purple"
)

server <- function(input, output) {
  data1 <- mtcars
  output$downloadData <- downloadHandler(
    filename = function(){"mtcars.xlsx"},
    content = function(file) {
      fname <- paste(file,"xlsx",sep=".")
      wb <- loadWorkbook(fname,create = TRUE)
      createSheet(wb,"cars")
      writeWorksheet(wb,data = data1,sheet = "cars")
      saveWorkbook(wb)
      file.rename(fname,file)
    },
    contentType="application/xlsx" 
  )
}

shinyApp(ui = ui, server = server)

【问题讨论】:

  • 该代码的工作目录是什么?也许您(或程序)无权在那里下载数据。
  • 可能是因为我的系统是 Windows 7 而不是 OS。
  • 操作系统不应该有所作为,但在目录中保存和存储数据的权利可以
  • 在 RStudio 中运行应用程序时会出现此问题。当您在浏览器中打开应用程序时,它应该会消失。
  • 是的,你是对的。我在Rstudio Shiny Server上发布了代码,效果很好。我认为可能是因为windows中的文件路径有“\”而不是“/”。

标签: r download shiny


【解决方案1】:

奇怪,你的代码在我的系统上运行良好:

> R.version                                  
platform       x86_64-apple-darwin13.4.0   
arch           x86_64                      
os             darwin13.4.0                
system         x86_64, darwin13.4.0        
status                                     
major          3                           
minor          3.1                         
year           2016                        
month          06                          
day            21                          
svn rev        70800                       
language       R                           
version.string R version 3.3.1 (2016-06-21)
nickname       Bug in Your Hair

你在用什么?

编辑:

使用

filename = "mtcars.xlsx",

同样有效,你应该试试。

【讨论】:

  • 可能是因为我的系统是windows 7。顺便说一下,我在Rstudio Shiny Server上发布了代码,效果很好。
【解决方案2】:

here 所述,您应该在浏览器中运行您的应用程序,而不是在 RStudio 中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    • 2020-12-08
    • 2020-09-10
    • 1970-01-01
    • 2016-01-29
    相关资源
    最近更新 更多