我正面临RHandsontable的一个特殊问题(版本:0.3.6)。我面临的问题与来自UI的输入转换有关。输入数字输入(x)时,它们已正确存储。但是,当输入百分比输入(x%)时,除Zeroeth Percents(0%,0.0%,0.00%等)外的所有值都将正确存储。从excel下载中可以看到,Zeroeth百分比将转换为NULL值。
附上观察到的行为的可复制示例。
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摘录来验证我的发现。这是与包装有关的问题还是与《守则》有关?如果以后有任何调试的指针,我们将予以赞赏。
答案 0 :(得分:1)
使用rhandsontable软件包的最新版本解决了该问题,有关更多详细信息,请访问此github链接。