首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在flextable中添加空白行

在flextable中添加空白行
EN

Stack Overflow用户
提问于 2020-11-21 00:00:06
回答 1查看 387关注 0票数 1

在Word报表中创建表格时,我经常希望在变量之间添加空行。作为一个琐碎的玩具示例:

代码语言:javascript
复制
library(dplyr)
library(officer)
library(flextable)
代码语言:javascript
复制
doc <- read_docx()
代码语言:javascript
复制
table_no_breaks <- mtcars %>% 
  count(cyl)
代码语言:javascript
复制
table_no_breaks_ft <- flextable(table_no_breaks)
代码语言:javascript
复制
doc <- doc %>% 
  body_add_flextable(table_no_breaks_ft) %>% 
  body_add_par("")

生成一个如下所示的表:

我可以直接向数据框添加换行符,如下所示:

代码语言:javascript
复制
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)
代码语言:javascript
复制
table_breaks_ft <- flextable(table_breaks)
代码语言:javascript
复制
doc <- doc %>% 
  body_add_flextable(table_no_breaks_ft) %>% 
  body_add_par("") %>% 
  body_add_flextable(table_breaks_ft)
代码语言:javascript
复制
print(doc, "flextable.docx")

这会产生我想要的Word表:

但是,我更希望能够将空白行直接添加到flextable,而不是用来构建flextable的数据框架。对我来说,这是一个格式问题,而不是数据问题,我更喜欢将数据问题(数据框架的操作)和格式问题( Word表的操作)分开。任何建议都是非常感谢的!

EN

回答 1

Stack Overflow用户

发布于 2021-09-10 14:55:05

这已经很晚了,但是如果您只是在下面的表示例中添加填充,会怎么样呢?问题是你想要的是实际的空白行还是仅仅是行之间的间距?

代码语言:javascript
复制
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输入来指定要填充的某些行和列。示例如下:

代码语言:javascript
复制
flextable(table_no_breaks) |> 
  padding(i= 2, padding = 15, padding.top = TRUE) |> 
  align(align = "center", part = "all")

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64932726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档