【问题标题】:How to download an table using rhandsontable in rshiny?如何在 r shiny 中使用 rhandsontable 下载表格?
【发布时间】:2018-05-18 02:32:21
【问题描述】:

我编写了以下服务器代码来显示内容。编辑动手表后如何下载文件

#server 
 value <- eventReactive(input$file, {
   theFile <- input$file
   if(is.null(theFile)) {
    return(NULL)}
 file.rename(theFile$datapath,paste(theFile$datapath, ".xlsx", sep=""))
 Data <- read_excel(paste(theFile$datapath, ".xlsx", sep = ""), 1) 
 Data
})

output$contents <- renderRHandsontable({
  rhandsontable(value())
 })

【问题讨论】:

    标签: r shiny handsontable


    【解决方案1】:

    我会在 ui.R 中添加一个 actionButton 并使用它来保存文件。

    ui.R 中的动作按钮:

    actionButton("savefile", "Save", width = '100%')
    

    要保存文件,在 server.R 中:

    observeEvent(input$savefile,
                    {
    
                       if (!is.null(isolate(input$contents)))
                       {
                           #Convert to R object
                           x <- hot_to_r(isolate(input$contents))
                           write.table(x, file = 'employee_input.txt', row.names=FALSE, quote = TRUE, sep = ",",
                           na = "NA", dec = ".")
                       }
                    }
                )
    

    【讨论】:

    • 我已经隔离了 input$contents,这样您就不会在每次编辑表格时都保存文件。
    • isolate和hot_to_r的作用是什么?我是业余爱好者,所以尽可能用简单的语言解释一下
    • isolate - Isolate 让您可以在没有相关反应性的情况下获取小部件的值。与小部件关联的任何操作都不会影响代码块。例如,如果我在隔离中有 input$savefile,则单击该按钮将不会运行代码。 hot_to_r - 如果我没记错的话,rHandsontable 是一个基于 Java 的包,您需要通过 hot_to_r 运行 rHandsontable 对象以将其转换为 R 对象。
    • 它正在我的系统上运行。它抛出了什么错误?
    • 没有显示错误。当我点击保存时,没有任何反应。
    猜你喜欢
    • 2017-12-02
    • 2020-11-11
    • 2017-04-30
    • 2018-04-28
    • 2019-01-02
    • 2017-10-08
    • 2017-03-24
    • 2020-05-02
    • 2019-10-03
    相关资源
    最近更新 更多