Экспорт только выбранных строк из DT - PullRequest
1 голос
/ 08 мая 2019

Я использую DT R в FlexDashboard. У меня работают кнопки экспорта, но я бы хотел, чтобы экспорт мог экспортировать только те данные, которые выбраны либо по строкам, либо при использовании функции поиска DT.

Я посмотрел руководство по DT, но оно не прояснило, как мне поступить.

datatable(
  dept_table, 
  rownames = FALSE,
  extensions = "Buttons",
    options = 
    list(
      searching = TRUE, 
      pageLength = 200, 
      scrollX = TRUE,
      scrollY = TRUE,
      dom = "BRSpfrti",
      buttons = c('copy', 'csv', 'excel', 'pdf', 'print')
)

Таким образом, если у меня есть таблица из 128 строк, и я использую поиск, чтобы выбрать только 10, мой экспорт должен иметь только эти 10 строк.

Ответы [ 2 ]

1 голос
/ 11 мая 2019

Это возможно с расширением Select. Включите это расширение, установите параметр select = TRUE и установите кнопки следующим образом:

list(
  extend = "csv",
  text = 'CSV',
  exportOptions = list(modifier = list(selected = TRUE))
)

То есть:

datatable(
  iris, 
  rownames = FALSE,
  extensions = c("Buttons", "Select"),
  options = 
    list(
      select = TRUE,
      searching = TRUE, 
      scrollX = TRUE,
      scrollY = TRUE,
      dom = "BRSpfrti",
      buttons = list(
        list(
          extend = "copy",
          text = 'Copy',
          exportOptions = list(modifier = list(selected = TRUE))
        ), 
        list(
          extend = "csv",
          text = 'CSV',
          exportOptions = list(modifier = list(selected = TRUE))
        ), 
        list(
          extend = "excel",
          text = 'Excel',
          exportOptions = list(modifier = list(selected = TRUE))
        ), 
        list(
          extend = "pdf",
          text = 'PDF',
          exportOptions = list(modifier = list(selected = TRUE))
        ), 
        list(
          extend = "print",
          text = 'Print',
          exportOptions = list(modifier = list(selected = TRUE))
        )
      )
    )
)

enter image description here

0 голосов
/ 08 мая 2019

Возможно, лучший способ - добавить одну или несколько блестящих кнопок, которые будут воздействовать на ваш кадр данных до визуализации DT (вместо использования фильтра непосредственно на таблицу, сгенерированную DT), и экспортировать весь набор данных.

Фильтр, который вы создаете с помощью поискового DT, нигде не хранится, поэтому трудно экспортировать только те строки, которые соответствуют данному исследованию.

...