2

我正在尝试从 切换ReporteRsofficer。使用时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")

据推测,使用包可能会做同样的事情officerflextable它可能看起来像这样:

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

有没有办法使用officerand将表格添加到标题中flextable

4

0 回答 0