当前位置:  开发笔记 > 编程语言 > 正文

按钮:带滚动条的下载按钮仅下载几行

如何解决《按钮:带滚动条的下载按钮仅下载几行》经验,为你挑选了2个好方法。

我正在处理超过10万行的表并使用DT包(开发版本0.1.56)在Shiny App 中将其可视化.

此外,我使用DTExtensions作为:Buttons,以不同的格式下载数据.然而,虽然Scroller扩展也被激活,但我只能下载几行(不是所有数据).

示例代码:

library("shiny")
library("DT")

shinyApp(
  ui = fluidPage(DT::dataTableOutput('tbl')),
  server = function(input, output) {
    output$tbl = DT::renderDataTable(
      iris,extensions=c("Buttons",'Scroller'),options = list(dom = 'Bfrtip',
                                               buttons = c('copy', 'csv', 'excel', 'pdf', 'print'),scrollY = 50,
                                               scroller = TRUE
      ))
  }
)

另外如果我只运行R中的这部分代码并在查看器中获取数据表,我能够复制所有行,甚至可能如何?

library("DT")
datatable(
  iris,
  extensions = 'Buttons', options = list(
    dom = 'Bfrtip',
    buttons = c('copy', 'csv', 'excel', 'pdf', 'print')
  )
)

我尝试过不同的方法:

    scrollY =在选项列表中更改... - >它正在工作,但scrollY实际显示所有数据行的数量必须很大,因此可以完全下载 - >不好的方法,因为我的数据来自数据库,我获得了不同的行数加上它会使应用程序极其缓慢

    使用pageLength选项: pageLength = ..., lengthMenu=c(..,..,..,..)

但是,根本不显示选择选项...

我有什么想法可以解决这个问题吗?

我知道 downloadHandler()方法,但我更喜欢这样做, DT因为可用的Extensions提供了漂亮和优雅的方式,允许一次下载不同格式的数据,如pdf,excel,csv和print.

**我已经看到了同样的问题:

下载按钮仅使用Scroller在DataTables中下载145行

但是DT包装的含义没有回答

提前致谢



1> Carl..:

问题是当server=TRUE只有正在显示的数据被发送到客户端时.设置server=FALSE会在客户端中呈现所有DT内容,因此所有数据都在那里.



2> takje..:

确实server = TRUE做到了。

这是代码,因为像我这样的某些人可能会将参数放在错误的位置。

library("shiny")
library("DT")

shinyApp(
  ui = fluidPage(DT::dataTableOutput('tbl')),
  server = function(input, output) {
    output$tbl = DT::renderDataTable(server = FALSE,{
      DT::datatable(iris,
                    extensions=c("Buttons",'Scroller'),
                    options = list(dom = 'Bfrtip',
                                   buttons = c('copy', 'csv', 
                                               'excel', 'pdf', 
                                               'print'),
                                   scrollY = 50,
                                   scroller = TRUE)
      )
    })
  }
)

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有