R 在脚本中将 FlexTable 保存为 html 文件

R save FlexTable as html file in script

我有一个使用 ReporteRs 包生成的 FlexTable,我想将其导出为 .html。

当我在 RStudio 中向查看器打印 table 时,我可以通过单击 'Export' 并选择 'Save as webpage'.

来完成此操作

如何在我的脚本中复制这个动作?

我现在还不想编写 html 文档或生成报告,我只想为我的每个草稿 table 准备单独的文件,以便与我共享协作者(但格式很好,因此易于阅读)。

我尝试了 as.html 函数,它确实生成了一个 .html 文件,但所有格式都丢失了(它只是纯文本)。

这是一个 MWE:

# load libraries:
library(data.table)
library(ReporteRs)
library(rtable)

# Create dummy table:
mydt <- data.table(id = c(1,2,3), name = c("a", "b", "c"), fruit = c("apple", "orange", "banana"))

# Convert to FlexTable:
myflex <- vanilla.table(mydt)

# Attempt to export to html in script:
sink('MyFlexTable.html')
print(as.html(myflex))
sink()

# Alternately:
sink('MyFlexTable.html')
knit_print(myflex)
sink()

上面演示的两种方法的问题在于它们输出的 table 没有任何格式(无边框等)。

但是,在 RStudio 中手动选择 'export' 和 'save as webpage' 会将 FlexTable 呈现为具有完整格式的 html 文件。这是为什么?

这对我有用:

writeLines(as.html(myflex), "MyFlexTable.html")