首页 > 解决方案 > 使用官员在 Word 文档中设置 flextable 的宽度

问题描述

我有一个非常简单的任务。从数据框创建一个 flextable(或 qflextable)。然后在 Word 中打印。这是一个 4 列的表。第一列是描述性标签,其他 3 列是百分比或计数。在标题下方的第一行,第一列,单元格内容很长但不太多(大约10个字,所以应该换行2-3次)。

当我打印为 qflextable (根据我收集的内容,它只是具有自动调整功能的 flextable)时,我得到一个不适合页面的表格,因为它适合第一行而无需换行。当我使用 flextable 时,无论我做什么,它都是一个适合并包裹长文本的窄表(每列大约 1 英寸),但我似乎无法从 R 调整它的宽度。

无论哪种方式,如果我打开 Word 文档,并将表格属性设置为 6.5 英寸,这是我想做的,表格看起来很棒。

我不知道这是灵活表还是官员问题。而且我似乎无法弄清楚如何将 table_width() 或 prop_table(table_width(6.5, "in")) 与表格一起使用。帮助文件没有表格参数——函数输入只是宽度和单位。

我的代码如下:

at <- flextable(at)

tabdoc <- read_docx(path = "path here"))
tabdoc <- 
    body_add_par(tabdoc, value = sectcap, style = "heading 1") %>% 
    body_add_caption(table1cap) %>% 
    body_add_flextable(at) 

任何有关设置表格宽度,甚至设置单个列宽的语法的帮助,将不胜感激。

标签: rflextableofficer

解决方案


一个可重现的例子会很有用。

对我有用的是专门设置第一列的宽度:

at <- width(qflextable(at), j=1, width=4)

推荐阅读