我有一个名为flextable
的{{1}}对象,我想直接将其放置在word文档中,其水平布局具有窄边距。
我面临2个问题:
1)小插图中建议的方法会产生额外的页面(表格的前一页,后一页)。我认为这是一个已知问题,但不清楚如何解决。
2)我希望页边距狭窄,并且水平页面上的结果表可以自动适合该页面。我想要这样做,以便可以使用尽可能多的页面来打印表格。我当前的方法是手动打开文档,更改布局并在Word上选择“自动调整”。
这是我用来生成文档的代码。出于说明目的,我将在表中使用html_table
,但是实际的行比mtcars
多。
mtcars
答案 0 :(得分:1)
在Word文档中,仅在停止时定义各节(我无法解释为什么这样做了,但这就是底层xml的方式...)。如果前一部分不是横向的,则横向的部分也需要分页。
要自动拟合一个柔性表,请使用函数autofit
。
library(flextable)
library(officer)
library(magrittr)
html_table <- regulartable(mtcars) %>%
autofit()
doc <- read_docx() %>%
body_add_flextable(value = html_table, split = TRUE) %>%
body_end_section_landscape() %>% # a landscape section is ending here
print( target = "my_table.docx" )
如果您不需要多余的页面,则需要一个具有默认页面方向的模板作为横向。另外,您将不需要任何代码来管理方向或边距。