我正在尝试从 切换ReporteRs
到officer
。使用时ReporteRs
,我可以使用我在 Word 文档模板中设置的书签将 FlexTable 添加到标题中(我在模板的标题中放置了一个名为“HEAD”的书签):
library(ReporteRs)
library(dplyr)
doc <- docx(template = "Template.docx")
ft1 <- FlexTable(mtcars)
addFlexTable(doc,
ft1,
bookmark = "HEAD")
writeDoc(doc, file = "test.docx")
据推测,使用包可能会做同样的事情officer
,flextable
它可能看起来像这样:
library(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")
如果我在文档的正文中有一个名为“HEAD”的书签,这可以工作,但如果我在 Word 文档的标题中有一个名为“HEAD”的书签,它会显示Error: cannot find bookmark "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
and将表格添加到标题中flextable
?