如何使用R中的Officer包将表添加到Word文档的标题中?

时间:2018-07-08 11:36:23

标签: r flextable officer

我正在尝试从ReporteRs切换到officer。使用ReporteRs时,我可以通过使用在Word文档模板中设置的书签(将书签放置在名为“ HEAD”的模板的标题中)将FlexTable添加到标题中:

library(ReporteRs)
library(dplyr)
doc <- docx(template = "Template.docx")
ft1 <- FlexTable(mtcars)
addFlexTable(doc,
             ft1,
             bookmark = "HEAD")
writeDoc(doc, file = "test.docx")

大概,可以将officer包中的flextablelibrary(officer) library(flextable) library(dplyr) doc <- docx(template = "Template.docx") ft1 <- flextable(mtcars) doc <- cursor_bookmark(doc,"HEAD") %>% body_add_flextable(ft) print(doc,target="test.docx") 一起使用,并且可能看起来像这样:

Error: cannot find bookmark "HEAD"

如果我在文档正文中有一个名为“ HEAD”的书签,这是可行的,但是如果我在Word文档的标题中有一个名为“ HEAD”的书签,它会显示doc <- docx(template = "Template.docx") ft1 <- flextable(mtcars) doc <- headers_replace_text_at_bkm(doc,"HEAD",ft) print(doc,target="test.docx")

我知道有一些向标题添加文本的特定功能,但是这些功能无法添加表格。我能找到的最接近的是:

Error in headers_replace_text_at_bkm(doc, "HEAD", ft) : is_scalar_character(value) is not TRUE

但这会返回错误officer

是否可以使用flextable**/tool main.py /google /modules __init__.py module.py** 将表添加到标题?

0 个答案:

没有答案