R 闪亮的+;下载处理程序&x2B;Openxlsx不生成xlsx文件

R 闪亮的+;下载处理程序&x2B;Openxlsx不生成xlsx文件,r,shiny,openxlsx,R,Shiny,Openxlsx,我试图通过Openxlsx包生成一个.xlsx文件,该文件中包含一个被动名称和头文件(输入变量为“ASL.1”和“Year.1”)。文件中要保存的对象是由应用程序生成的反应表“tab_1()”,没有任何问题,但当我尝试下载它时,浏览器(Chrome)生成的名称不是(即)“tab_1_TOSCANA_2015”.xlsx”,而是“download_tab_1”,即“download”(下载)按钮的输出“关联,并且不生成任何内容。我不明白问题出在哪里,因为我用Openxlsx检查了其他类似的例子,我

我试图通过Openxlsx包生成一个.xlsx文件,该文件中包含一个被动名称和头文件(输入变量为“ASL.1”和“Year.1”)。文件中要保存的对象是由应用程序生成的反应表“tab_1()”,没有任何问题,但当我尝试下载它时,浏览器(Chrome)生成的名称不是(即)“tab_1_TOSCANA_2015”.xlsx”,而是“download_tab_1”,即“download”(下载)按钮的输出“关联,并且不生成任何内容。我不明白问题出在哪里,因为我用Openxlsx检查了其他类似的例子,我在脚本中没有看到错误;如果我尝试使用“write.csv”命令编写一个.csv文件,一切都会正常工作

脚本如下:

应用程序(这只是一小部分)是

require(闪亮)
需要(dplyr)
要求(2)
要求(stringr)
需要(发光体)
需要(ggplot2)
require(openxlsx)
要求(单张)
要求(RColorBrewer)
需要(rgdal)
需要(rgeos)
需要(地图工具)
加载(“dati.RData”)
####用户界面####

ui我一直在努力解决类似的问题。这是由downloadHandler(下载处理器)访问openxlsx包时出现的问题引起的。修复权限或确保程序包位于正确的文件夹中都不起作用。据我们所知,这是一个与openxlsx交互的闪亮下载处理程序的问题

最后,我通过保存XLSX的本地版本临时文件,然后在downloadHandler中引用它来解决这个问题

将此部分(downloadHandler内部)移动到下载处理程序外部:

 addWorksheet(wb, sheetName = "Dati", gridLines = TRUE)
  intestazione <- paste0("Distribuzione di frequenza delle segnalazioni di MP e dei relativi tassi per 100.000 abitanti suddivisi per ASL di competenza e Sesso - ", input$ASL.1, ", ", input$Anno.1, ".")
  writeData(wb, 1, x = intestazione)
  writeDataTable(wb, sheet = 1, startRow = 3, x = tab.1(), colNames = TRUE)
  saveWorkbook(wb, file)
添加工作表(wb,sheetName=“Dati”,gridLines=TRUE)
intestazione我一直在解决听起来像是同一个问题的问题。这是由downloadHandler(下载处理器)访问openxlsx包时出现的问题引起的。修复权限或确保程序包位于正确的文件夹中都不起作用。据我们所知,这是一个与openxlsx交互的闪亮下载处理程序的问题

最后,我通过保存XLSX的本地版本临时文件,然后在downloadHandler中引用它来解决这个问题

将此部分(downloadHandler内部)移动到下载处理程序外部:

 addWorksheet(wb, sheetName = "Dati", gridLines = TRUE)
  intestazione <- paste0("Distribuzione di frequenza delle segnalazioni di MP e dei relativi tassi per 100.000 abitanti suddivisi per ASL di competenza e Sesso - ", input$ASL.1, ", ", input$Anno.1, ".")
  writeData(wb, 1, x = intestazione)
  writeDataTable(wb, sheet = 1, startRow = 3, x = tab.1(), colNames = TRUE)
  saveWorkbook(wb, file)
添加工作表(wb,sheetName=“Dati”,gridLines=TRUE)
intestazione我想我只需在下载处理程序中的save工作簿函数中引用文件就可以让它工作了

这与openxlsx软件包和Shining downloadHandler配合使用:

 output$quick_export <- downloadHandler(
    filename = "my export.xlsx",
    content = function(file) {
      wb <- createWorkbook()
      addWorksheet(wb, "Cars")
      x <- mtcars[1:6, ]
      writeData(wb, "Cars", x, startCol = 2, startRow = 3, rowNames = TRUE)
      saveWorkbook(wb, file, overwrite = TRUE)
    }
  )

output$quick\u export我想我只需在下载处理程序中的saveWorkbook函数中引用文件就可以让它工作了

这与openxlsx软件包和Shining downloadHandler配合使用:

 output$quick_export <- downloadHandler(
    filename = "my export.xlsx",
    content = function(file) {
      wb <- createWorkbook()
      addWorksheet(wb, "Cars")
      x <- mtcars[1:6, ]
      writeData(wb, "Cars", x, startCol = 2, startRow = 3, rowNames = TRUE)
      saveWorkbook(wb, file, overwrite = TRUE)
    }
  )

output$quick\u export您将xlsx文件的生成放在哪里?在另一个闪亮的功能中?您是如何从下载处理程序内部触发它的?您将xlsx文件的生成放在哪里?在另一个闪亮的功能中?您是如何从下载处理程序内部触发它的?