R编写Excel文档

时间:2016-05-17 15:10:34

标签: html r excel saving-data

我的问题是,是否有人知道更好的方法来做我已经在做的事情。我正在创建一个列表报告,并尝试在HTML和Excel中呈现它。

我正在开发一个闪亮的应用程序,为Qualtrics调查生成报告。

results tables example

结果表是我粘贴在一起并显示在shinydashboard中的HTML字符串列表。这是一个dput of the example results tables

以下是我在我的包中创建html结果表列表 - the html_tabelize() function的方法。这是一个dput of the example input

在闪亮的server.R文件中,我创建Excel文件的方式是使用以下代码:

output$downloadResults <- downloadHandler(
  filename = 'tables.xls',
  content = function(file) {
    write(html_tabelize(main()[['blocks']]), file)
  }
)

总结一下:我得到了块,我对它们运行html_tabelize,然后将HTML输出写入名为“tables.xls”的文件中。当我打开该文件时,因为Excel可以呈现HTML,所以它呈现如下:

excel render of results tables

我对自己所做的事情的关注和问题有两方面:

  1. 如果我正在编写Excel文档而不是简单地在Excel中呈现HTML,那么我或许可以获得更好的格式化文档。我喜欢那样。
  2. 当您下载结果表xls文件并尝试打开它时,您会收到来自Excel的警告。我不希望我的应用程序的用户看到此警告,因为它会分散注意力,并且可能会担心他们不关心的事情。
  3. warning from Excel

    我知道options exist for writing Excel files in R,但到目前为止我所看到的表明他们的输入必须是数据帧或数据帧列表。我呈现的列表具有不同类型的组件,例如问题文本,以及结果的数据框。最初我使用的是pandoc,但是pandoc,即使从R运行,也是一个系统二进制文件,并且很难列为依赖项(如果我不能将它列为依赖项,那么很难确保它是为我的应用程序的用户安装的)。另外,我发现pandoc甚至没有转换为“真正的”Excel - 它也只是将HTML保存在.xls文件中。有没有人对如何改进我的应用程序的这一部分有任何建议?

0 个答案:

没有答案