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

如何在flextable中添加不带链接的Font Awesome图标

解决方案:在flextable中添加无链接的Font Awesome图标

要实现仅显示图标不带链接,只需要去掉原代码中用于创建链接的<a>标签和hyperlink_text()函数,直接插入Font Awesome图标本身即可,以下是两种简洁的实现方式:

方法一:直接插入图标字符

这种方式利用fontawesome包直接生成图标对应的字符表示,无需额外HTML标签:

library(flextable)
library(fontawesome)
library(dplyr)

# 示例数据
pets = tribble(~Name, ~Type, ~Age,
               'Barley', 'dog', 8,
               'Honey', 'dog', 1,
               'Tiger', 'cat', 2,
               'Jack', 'cat', 9)

# 添加无链接图标
pets %>% 
  rowwise() %>% 
  mutate(Type = as.character(fa(Type))) %>% # 直接生成图标字符,去掉<a>标签
  flextable() %>% 
  compose(j = "Type",
          value = as_paragraph(Type)) %>% # 直接插入图标内容
  theme_booktabs() # 可选:美化表格样式

方法二:用HTML渲染自定义样式图标

如果需要给图标设置颜色、大小等自定义样式,可以用fa()函数生成带样式的HTML代码,再通过html()函数渲染:

pets %>% 
  rowwise() %>% 
  # 生成带蓝色填充的图标HTML代码
  mutate(Type = as.character(fa(Type, fill = "#165DFF", height = "18px"))) %>% 
  flextable() %>% 
  compose(j = "Type",
          value = as_paragraph(html(Type))) %>% # 渲染HTML格式的图标
  theme_booktabs()

关键改动说明

  1. 移除了原代码中手动拼接的<a href=""></a>标签,这个标签是产生空链接的根源
  2. 替换hyperlink_text()为直接插入图标内容(或html()函数),避免触发链接逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 21:52:51