微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 flextable 对齐/适配到 R 中的页面宽度

如何解决将 flextable 对齐/适配到 R 中的页面宽度

我正在创建一个非常基本的报告,将小表格添加到循环中的 docx。 我想让它们适应页面的宽度,或者至少将表格(不是单元格的内容)向左对齐。 这应该是一项非常简单的任务,但我发现只有与以下内容相关的参考:

  • 对齐单元格内容(包装手册)
  • 在 Rmarkdown 中构建的文档 (1,2)

我尝试了参考文献中建议的解决方案,但没有奏效。 这是我正在使用的(注释行以显示其他尝试):

  tbl.params = flextable(fdata) %>%
    delete_part(part = "header") %>%
    #autofit() %>%
    border_remove() %>%
    border_inner_h(part="body",border = small_border ) %>%
    hline_top( border = big_border,part="body") %>%
    bold(j=1) %>%
    set_table_properties(layout = "autofit")
    #fit_to_width(7.5)

我是否犯了错误或遗漏了什么? 我正在寻找“纯”Officer(如果有)的解决方案。

解决方法

以下脚本在 docx 文档中添加一个 flextable。列withs由Word调整,表格左对齐:

library(officer)
library(flextable)

ftab <- flextable( head( mtcars ) )
ftab <- set_table_properties(ftab,layout = "autofit")
doc <- read_docx()
doc <- body_add_flextable(doc,value = ftab,align = "left")
print(doc,target = "fileout.docx")

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。