【发布时间】: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中的文件路径有“\”而不是“/”。