官员:编辑 Word table

officer: edit Word table

使用 "officer" 我正在尝试编辑 Word table 的值。 非常直接地找到包含它的"paragraph"

library(officer)

doc = read_docx('template.docx')
doc = cursor_begin(doc)
doc = cursor_reach(doc,"Some text")
print(doc)

然后我得到一个如下所示的文档:

* Content at cursor location:
 row_id is_header cell_id                    text col_span row_span
1.1       1     FALSE       1                   D            1        1
1.5       2     FALSE       1                                1        1
1.9       3     FALSE       1             Some text          1        1
1.13      4     FALSE       1                                1        1
2.2       1     FALSE       2            More text           1        1

但是,然后呢?似乎没有任何方法可以直接更改此 table...

的内容

您可以使用 body_replace_all_text 完成该任务。

library(officer)


doc <- read_docx()
doc <- body_add_table(doc, iris, style = "table_template")

doc = cursor_reach(doc, "setosa")
doc <- body_replace_all_text(doc, old_value = "setosa", 
  new_value = "coco", only_at_cursor = TRUE)
print(doc, target = "test.docx")