2017-04-17 72 views
1

我有以下RMarkdown Shiny文件:不完整的CSV/Excel的行

--- 
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') 
    ) 
) 
``` 

将会产生这个文件:

enter image description here

后,我下载Excel文件中,行数仅为〜90行 未完成53,940个条目。为什么是这样的,我该如何解决它?

回答

2

默认情况下DT使用Server-side Processing因此只有可见数据被发送到浏览器。这就是为什么Excel文件只包含可见数据(如果您删除了scrollY = 200scroller = TRUE这变得非常清楚)。

要下载所有需要禁用服务器端处理的数据,请包括server = FALSE(例如,

class = 'compact cell-border stripe', rownames = FALSE, 
server = FALSE, 
filter = list(position = 'top', clear = FALSE, plain =TRUE), 

不幸的是,这使得加载和浏览表格非常慢(至少在我的电脑上)。

顺便说一句:您的代码取决于数据集,它是ggplot2的一部分。