繁体   English   中英

在flextable中添加一个空行

[英]Add a blank row in flextable

在 Word 报告中创建表格时,我经常想在变量之间添加空白行。 作为一个简单的玩具示例:

library(dplyr)
library(officer)
library(flextable)
doc <- read_docx()
table_no_breaks <- mtcars %>% 
  count(cyl)
table_no_breaks_ft <- flextable(table_no_breaks)
doc <- doc %>% 
  body_add_flextable(table_no_breaks_ft) %>% 
  body_add_par("")

结果在一个看起来像这样的表中:

在此处输入图片说明

我可以像这样直接在数据框中添加换行符:

table_breaks <- table_no_breaks %>% 
  mutate(
    across(
      everything(),
      as.character
    )
  ) %>% 
  add_row(cyl = NA, n = NA, .after = 1) %>% 
  add_row(cyl = NA, n = NA, .after = 3) %>%
  add_row(cyl = NA, n = NA, .after = 5)
table_breaks_ft <- flextable(table_breaks)
doc <- doc %>% 
  body_add_flextable(table_no_breaks_ft) %>% 
  body_add_par("") %>% 
  body_add_flextable(table_breaks_ft)
print(doc, "flextable.docx")

这导致我想要的 Word 表:

在此处输入图片说明

但是,我希望能够将空白行直接添加到 flextable 而不是构建 flextable 的数据框。 对我来说,这是一个格式问题而不是数据问题,我更喜欢将数据问题(数据框的操作)和格式问题(Word 表格的操作)分开。 任何意见是极大的赞赏!

很晚了,但是如果您只是在下面的表格示例中添加填充怎么办? 问题是您想要实际的空白行还是只是行之间的间距?

library(dplyr)
 library(flextable)
 
 table_no_breaks <- mtcars %>% 
   count(cyl)
 
 
 table_breaks <- table_no_breaks %>% 
   mutate(
     across(
       everything(),
       as.character
     ))
 
 
 flextable(table_no_breaks) |> 
    padding(padding = 15, part = "all")

软垫桌

编辑:如果您只想填充某些行,您可以使用ij输入来指定要填充的某些行和列。 下面的例子:

flextable(table_no_breaks) |> 
  padding(i= 2, padding = 15, padding.top = TRUE) |> 
  align(align = "center", part = "all")

垫排

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM