Apache Superset表格特定文本字体格式化:仅高亮百分比
在Apache Superset中高亮表格文本里的特定内容(比如百分比)
当然可以实现,不用全局CSS只针对整句生效,这里给你两种实用的针对性格式化方法:
方法1:SQL查询时直接嵌入HTML标签
在编写SQL语句时,把需要高亮的百分比部分用带样式的HTML标签包裹,示例如下:
SELECT CONCAT('部门出勤概览:', '<span style="color: #27ae60; font-weight: 600;">', attendance_rate, '%</span>') AS attendance_insights FROM your_attendance_table;
写完SQL后,在Superset表格的列配置里找到目标列(比如attendance_insights),将渲染方式改成「HTML」,Superset就会解析标签里的样式,只高亮文本中的百分比部分。
方法2:用自定义JS格式化函数
如果不想修改SQL,可以在表格的「列格式化器」里写一段小脚本,自动识别文本中的百分比并添加样式:
- 打开表格的编辑界面,找到「列配置」模块
- 选中需要处理的目标列,在「格式化器」选项中选择「自定义JavaScript」
- 输入以下函数:
function formatTextWithPercentage(value) { // 跳过非字符串类型的内容 if (typeof value !== 'string') return value; // 匹配所有XX%格式的内容,替换为带高亮样式的标签 return value.replace(/(\d+(\.\d+)?%)/g, '<span style="background: #fef9c3; color: #ca8a04; font-weight: bold;">$1</span>'); }
- 同样要将该列的渲染方式设置为「HTML」,样式才能正常生效。
注意事项
要确保Superset配置中的ENABLE_JAVASCRIPT_CONTROLS参数设置为true,否则自定义JS和HTML渲染功能会被禁用(多数默认部署环境下该参数是开启的,若未生效可联系管理员检查配置)。
内容的提问来源于stack exchange,提问作者Dominic Nadar
相关产品推荐
相关产品推荐

