Как добавить таблицу в заголовок документа 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?

0 ответов

Другие вопросы по тегам