1. 概述
1.1 预期效果
在平时制作报表的过程中,有时候希望对文本中指定的内容进行高亮显示。如下图所示:
1.2 实现思路
利用富文本或是利用 HTML 标签结合 HTML 显示单元格内容的方式
利用 HTML 标签的方法也有几种:
直接在单元格输入 HTML 标签
在「条件属性新值」或「高级属性显示值」或「单元格属性公式形态」中使用公式
在 SQL 语句中使用公式
注:除了富文本编辑方法外,利用 HTML 标签的方法都要将「单元格属性>显示内容」设置为「用HTML显示内容」。如下图所示:
2. 示例
2.1 插入富文本
选中单元格,单击鼠标右键,选择「单元格元素>插入富文本」,在富文本中将相应文字设置为其他颜色即可,如下图所示:
2.2 直接使用 HTML 标签
在单元格直接输入内容,用 HTML 标签 <font color='指定颜色'> 和 </font> 将要变颜色的内容括起来。然后选择用 HTML 显示内容。如要将红色两字变红:<font color='red'>红色</font>
2.3 利用公式
利用 replace() 公式将文本中需要高亮显示的字符串替换成 HTML 标签的形式,单元格显示内容设置为「用HTML显示内容」即可。
例如 replace($$$, "办事处", "<font color='red'>办事处</font>") ,即将办事处显示为红色。
设置公式的方法有三种,如下所示:
条件属性>新值
高级属性>显示值
单元格属性>公式形态。
2.3.1 准备数据
先新建数据库查询 ds1,SQL 查询语句为:SELECT 单位全称 FROM 单位。
2.3.2 条件属性新值
将数据集中字段拖入单元格,添加一个条件属性,选择「新值」,选择值类型为「公式」,输入公式:replace($$$, "办事处", "<font color='red'>办事处</font>")。由于任何情况下都希望指定内容变色,所以不设置条件。如下图所示:
2.3.3 高级属性显示值
选中单元格,选择「单元格元素>高级>显示值」,输入公式:replace($$$, "办事处", "<font color='red'>办事处</font>")。如下图所示:
2.3.4 单元格属性公式形态
选中单元格,选择「单元格属性>形态>公式形态」,输入公式:replace($$$, "办事处", "<font color='red'>办事处</font>")。如下图所示:
2.4 利用 SQL 语句
在 SQL 中利用 replace 函数为指定内容添加 HTML 标签。
新建一个数据库查询 ds2,SQL 查询语句为:SELECT replace(单位全称,'办事处','<font color="red">办事处</font>') as 单位全称 FROM 单位
此时预览数据集数据如下图所示:
2.5 效果预览
2.5.1 PC 端
保存报表,点击「分页预览」,效果如下图所示:
2.5.2 移动端
App 端和 HTML5 端均支持,效果如下图所示:
3. 模板下载
已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\form\单元格指定内容高亮显示.cpt。
点击下载模板:单元格指定内容高亮显示.cpt