【问题标题】:Button which saves renderDataTable output as png from shiny将 renderDataTable 输出保存为来自闪亮的 png 的按钮
【发布时间】:2016-02-11 10:17:34
【问题描述】:

有谁知道我将如何将闪亮的数据表 (DT::renderDataTable) 输出保存为 .png?即,我想创建一个按钮,类似于this button?

例如,任何人都可以定义一个按钮来将此表格保存为 png:

---
output: html_document
runtime: shiny
---

```{r setup, echo=FALSE}
library(DT)

    DT::renderDataTable({
      datatable(iris) %>% formatStyle(
        'Sepal.Width',
        backgroundColor = styleInterval(3.4, c('gray', 'yellow'))
      )
    })

```

【问题讨论】:

  • 将表格数据保存为表格格式对您的应用程序没有意义吗?我还没有看到很多将表格保存为图像的情况..
  • 为了包含在我不想加载和整理数据的静态报告中..
  • 看看这里,也许你可以使用DT库来完成你所有的导出stackoverflow.com/questions/24510671/…

标签: r shiny dt


【解决方案1】:

您的主要任务是如何将表格转换为 PDF 格式。 Here aretwo SO questions 提供有关如何执行此操作的答案。

假设您使用这些参考问题来解决该问题(这与闪亮无关)。我将接近下一步的方法是首先返回您从制作 PDF 的函数创建的 PDF 的路径

createPDF <- function(df) {
  # create a pdf
  return(pdf_file)
}

然后在 Shiny 中,您将使用 downloadHandler,您只需将该 PDF 复制到您提供给 downloadHandler 的文件名中。像这样的:

### in UI
downloadButton('downloadPdf', 'Download table')

### in server
output$downloadPdf <- downloadHandler(
    filename = function() {
      "table.pdf"
    },
    content = function(file) {
      file <- createPDF(df)
      file.copy(file, "table.pdf")  # or something like this
    }
)

我还没有尝试过,但这就是我会尝试的

【讨论】:

  • 明智的答案和我将调查的方法。好像是谢谢!
  • @Nick 你解决过这个问题吗?我是 Shiny 的新手,无法弄清楚将数据表转换为 PDF 的功能
猜你喜欢
  • 1970-01-01
  • 2017-05-25
  • 2019-09-19
  • 2017-10-20
  • 2018-05-02
  • 2020-09-18
  • 2015-01-17
  • 2014-02-28
  • 2018-06-26
相关资源
最近更新 更多