如何在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
相关产品推荐
相关产品推荐

