You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中格式化Xlsx:根据指定年份列高亮对应单元格

R中按指定年份高亮表格单元格的解决方案

可以使用gt包高效实现这一需求,它支持在R内完成条件格式化,还能直接导出带格式的Excel文件,无需手动操作。

步骤1:安装并加载依赖包

# 安装gt包(首次使用时执行)
install.packages("gt")
# 加载gt包
library(gt)

步骤2:加载你的数据集

species_year <- structure(list(fruit = c("apple", "apricot", "avocado"), `2022` = c(9.676, 
9.285, 9.557), `2023` = c(10.891, 
10.097, 9.359), `2024` = c(10.031, 
8.983, 11.389), year_highlight = c(2023, 
2024, 2023)), row.names = c(NA, -3L), class = c("tbl_df", "tbl", 
"data.frame"))

步骤3:生成带高亮的表格并导出

# 创建表格并设置高亮样式
highlight_table <- species_year %>%
  gt() %>%
  # 对目标单元格应用浅黄色背景高亮
  tab_style(
    style = cell_fill(color = "#fecd5e"),
    locations = cells_body(
      columns = everything(),
      rows = purrr::map(seq_len(nrow(species_year)), function(row_idx) {
        # 匹配当前行需要高亮的年份列
        target_col <- as.character(species_year$year_highlight[row_idx])
        list(row = row_idx, column = target_col)
      })
    )
  ) %>%
  # 隐藏用于标记高亮年份的辅助列(可选)
  cols_hide(columns = year_highlight)

# 在RStudio中预览表格
highlight_table

# 导出为带格式的Excel文件
gtsave(highlight_table, "highlighted_fruit_data.xlsx")

关键说明

  • tab_style配合cell_fill定义高亮样式,你可以修改color参数更换高亮颜色
  • 通过purrr::map遍历每行,精准定位到year_highlight指定的年份列单元格
  • cols_hide用于隐藏辅助列,让表格更简洁;如果需要保留该列,删除这一行即可
  • 导出的Excel文件直接包含高亮格式,无需后续手动调整

内容的提问来源于stack exchange,提问作者Nick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 19:02:57