У меня возникла специфическая проблема с RHandsontable (версия: 0.3.6). Проблема, с которой я сталкиваюсь, связана с преобразованием входных данных из пользовательского интерфейса. Когда вводятся числовые значения (x), они сохраняются правильно. Однако, когда вводятся процентные значения (x%), все значения, кроме Zeroeth Percents (0%, 0,0%, 0,00% и т. Д.), Сохраняются правильно. Нулевые проценты преобразуются в значения NULL, как видно из загрузок Excel.
Пример воспроизводимого снимка
Прикрепляем воспроизводимый пример наблюдаемого поведения.
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)
Входные данные должны быть изменены в пользовательском интерфейсе, а не в самом коде. Вы можете попробовать ввести 0% (, а не 0 ) в качестве входных данных в пользовательском интерфейсе, в экстракте Excel будет получено значение NULL, в которое вставлены «0%», «0.0%» и т. Д. Вы можете проверить мои выводы, загрузив выдержки из Excel. Это проблема, связанная с пакетом, или этот Кодекс связан? Если позже, любые указатели для отладки приветствуются.