Как исправить ширину строки прочитанного файла xlsm в shiny?

#r #shiny #dt

#r #блестящий #dt

Вопрос:

Как мы можем исправить ширину каждой строки. Вот пример кода и файла с образцами данных (sample data) для воспроизведения ошибки:

 library(shiny)
library(readxl)

runApp(
  list(
    ui = fluidPage(
      titlePanel("Use readxl"),
      sidebarLayout(
        sidebarPanel(
          fileInput('file1', 'Choose xlsx file',
                    accept = c(".xlsx")
          )
        ),
        mainPanel(
          tableOutput('contents'))
      )
    ),
    server = function(input, output){
      output$contents <- renderTable({

        req(input$file1)

        inFile <- input$file1

        readxl::read_excel(inFile$datapath, 1)
      })
    }
  )
)
  

Как мы видим, ширина 1-й и 2-й строк не одинакова. Есть ли возможность использовать «DT» для исправления ширины строки?
Ширина строки прочитанного файла xlsm

Ответ №1:

Если вы наберете ?renderTable в консоли R (или посмотрите на веб-сайте shiny), вы увидите страницу справки. Среди других вещей, которые могут вам пригодиться, в нем есть переменная spacing, которую вы можете использовать при вызове renderTable() . Попробуйте установить для него значение large, например

 output$contents <- renderTable({
  iris 
}, spacing = 'l')
  

Дайте мне знать, если у вас это не сработает

Комментарии:

1. Спасибо за предложение. Я попробовал следующим образом: « server = function(input, output){ вывод $contents <- renderTable({ req(input$file1) inFile <- input$file1 readxl::read_excel(inFile$datapath, 1) },spacing = ‘l’) } ) ) « Но все равно ширина строки не равна, и это всегда зависит от ячеек, считанных из xlsm.