如何在gt表格中仅合并单行单元格且不删除列?
能否在gt表格中合并单行的两个单元格且不删除列?
我需要实现这样的表格效果:仅在指定单行内合并两个相邻单元格(类似示意图中HIS和GIC列,因属于同一类保险需合并展示),但保留表格原有的列结构,不删除任何列。
以下是简化版的gt表格代码:
library("gt") library("tidyverse") df <- tibble( desc = c("R1", "R2", "R3"), A = c("This is a long sentence that should go over into B's column", "just one cell in colA", "just one cell in colA"), B = c("", "just one cell in colB", "just one cell in colB"), C = c("just one cell in colC", "just one cell in colC", "just one cell in colC") ) gt(df) gt(df) |> cols_merge( columns = c(A, B))
解决方案
感谢@MarBlo针对gt实现单行单元格合并提供的巧思方案,不过我最终选择了更简便的方式——切换到flextable库来实现需求。
R语言中有众多表格处理库,针对HTML输出场景,我会根据需求选择不同工具:用reactable实现交互式表格,gt实现常规静态表格,而带单行合并单元格的静态表格则用flextable来完成。
实现代码如下:
library("flextable") library("tidyverse") df <- tibble( desc = c("R1", "R2", "R3"), A = c("This is a long sentence that should go over into B's column", "just one cell in colA", "just one cell in colA"), B = c("", "just one cell in colB", "just one cell in colB"), C = c("just one cell in colC", "just one cell in colC", "just one cell in colC") ) ft <- flextable(df) |> set_header_labels("desc" = "") |> merge_at(i = 1, j = 2:3) ft
内容的提问来源于stack exchange,提问作者ixodid
相关产品推荐
相关产品推荐

