You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Shiny中通过DT包renderDT导出完整data.frame数据

解决DT导出仅当前页数据的问题

默认情况下,DT的Buttons扩展仅导出当前分页显示的数据,要实现导出完整表格的功能,需在按钮配置中明确指定导出所有数据,具体修改如下:

修改后的Shiny代码

library(shiny)
library(DT)

ui <- fluidPage(
  titlePanel("Test if I can copy or save more than 10 rows"),
  fluidPage(
    mainPanel(
      DTOutput('tbl')
    )
  )
)

server <- function(input, output) {
  output$tbl = renderDT(
    iris, 
    extensions = 'Buttons',
    options = list(
      dom = 'Blfrtip',
      buttons = list(
        list(
          extend = 'copy',
          exportOptions = list(modifier = list(page = 'all'))
        ),
        list(
          extend = 'excel',
          exportOptions = list(modifier = list(page = 'all'))
        )
      )
    )
  )
}

shinyApp(ui = ui, server = server)

关键修改说明

  • 替换原有的buttons = c('copy', 'excel')为列表形式的按钮配置
  • 每个按钮通过extend指定功能类型,exportOptions内的modifier = list(page = 'all')参数,强制导出所有分页的数据,而非仅当前显示页

内容的提问来源于stack exchange,提问作者Alejandro Ponce-mendoza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 07:05:34