我的问题是,是否有人知道更好的方法来做我已经在做的事情。我正在创建一个列表报告,并尝试在HTML和Excel中呈现它。
我正在开发一个闪亮的应用程序,为Qualtrics调查生成报告。
结果表是我粘贴在一起并显示在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,所以它呈现如下:
我对自己所做的事情的关注和问题有两方面:
我知道options exist for writing Excel files in R,但到目前为止我所看到的表明他们的输入必须是数据帧或数据帧列表。我呈现的列表具有不同类型的组件,例如问题文本,以及结果的数据框。最初我使用的是pandoc,但是pandoc,即使从R运行,也是一个系统二进制文件,并且很难列为依赖项(如果我不能将它列为依赖项,那么很难确保它是为我的应用程序的用户安装的)。另外,我发现pandoc甚至没有转换为“真正的”Excel - 它也只是将HTML保存在.xls文件中。有没有人对如何改进我的应用程序的这一部分有任何建议?