Как добавить таблицу в заголовок документа Word, используя пакет Officer в R?
Я пытаюсь переключиться с ReporteRs
в officer
, Когда используешь ReporteRs
Я смог добавить FlexTable к заголовку, используя закладку, которую я установил в шаблоне документа Word (я поместил закладку в заголовок шаблона под названием "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" в теле документа, это работает, но если у меня есть закладка с именем "HEAD" в заголовке документа Word, она говорит 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
а также flextable
?