使用格式时,RHandsontable不正确的输入转换

时间:2018-09-10 21:23:32

标签: shiny handsontable rhandsontable

我正面临RHandsontable的一个特殊问题(版本:0.3.6)。我面临的问题与来自UI的输入转换有关。输入数字输入(x)时,它们已正确存储。但是,当输入百分比输入(x%)时,除Zeroeth Percents(0%,0.0%,0.00%等)外的所有值都将正确存储。从excel下载中可以看到,Zeroeth百分比将转换为NULL值。

Reproducible Example Snapshot

附上观察到的行为的可复制示例。

library(shiny)
library(openxlsx)
library(rhandsontable)

ui <- fluidPage(
      br(),
      rHandsontableOutput("table"),
      br(),
      downloadButton("download","Download"))

server <- function(input, output, session) {

   output$table <- renderRHandsontable({

   df <- data.frame("Growth" = c(0.1,0.02,0.06,0.24,0.08))

   rhandsontable(df, rowHeaders = NULL,colHeaders = c("Growth")) %>%
   hot_col(c("Growth"), format = "0.0%") %>%
   hot_validate_numeric(cols = c(1),min = 0.00, max = 1.00)

   })


   output$download <- downloadHandler(
   filename = function() {
   paste('Report.xlsx')
   },

   content <- function(file) {
   write.xlsx(hot_to_r(input$table),file)
   })

}

shinyApp(ui, server)

需要在UI中更改输入,而不是代码本身。您可以尝试在用户界面中输入0%(非0 )作为输入,这将在excel提取中生成NULL值,其中插入了“ 0%”,“ 0.0%”等。您可以通过下载excel摘录来验证我的发现。这是与包装有关的问题还是与《守则》有关?如果以后有任何调试的指针,我们将予以赞赏。

1 个答案:

答案 0 :(得分:1)

使用rhandsontable软件包的最新版本解决了该问题,有关更多详细信息,请访问此github链接。

https://github.com/jrowen/rhandsontable/issues/270