我有以下 RMarkdown Shiny 文档:
---
title: "Title"
runtime: shiny
output:
flexdashboard::flex_dashboard:
vertical_layout: scroll
theme: bootstrap
orientation: rows
---
```{r setup, include=FALSE}
library(flexdashboard)
```
Rows {data-height=400}
-----------------------------------------------------------------------
### Table
``` {r show_table}
library(DT)
library(ggplot2)
renderDataTable( {
dat <- diamonds
},
extensions = c('Scroller','Buttons'),
class = 'compact cell-border stripe', rownames = FALSE,
filter = list( position = 'top', clear = FALSE, plain =TRUE ),
options = list(
deferRender = FALSE,
scrollY = 200,
scroller = TRUE,
dom = 'Bfrtip',
buttons = c('csv', 'excel')
)
)
```
生成此文档:
下载Excel文件后,行数仅为~90行 没有完成53,940个条目。为什么这样,我该如何解决?
答案 0 :(得分:2)
默认情况下,DT
使用Server-side Processing,因此只有可见数据会发送到浏览器。这就是为什么Excel文件只包含可见数据的原因(如果你删除scrollY = 200
和scroller = TRUE
,这就变得非常清楚了。)
通过包含server = FALSE
,例如
class = 'compact cell-border stripe', rownames = FALSE,
server = FALSE,
filter = list( position = 'top', clear = FALSE, plain =TRUE ),
不幸的是,这使得加载和浏览表格的速度非常慢(至少在我的电脑上)。
BTW:您的代码取决于diamonds
的{{1}}数据集。