条件渲染
教学视频
目录
概述
条件渲染是指利用条件表达式,在满足条件的情况下,对当前单元格、当前行或当前列的值及外观进行个性化定制。一个条件渲染项由 条件 与 满足后要渲染的内容 两部分组成,可同时满足多种渲染效果。
概念详解
条件定义
切换到条件渲染标签,单击 + 按钮即可添加一项条件渲染设置。


- 标题:为当前条件渲染项设置一个可读的名称;
- 条件左值表达式 / 比较符 / 条件右值表达式:构成一条完整的条件判断;
- 与上一条件关系:当存在多个条件时,支持
并且 (and)与或者 (or)的组合关联; - 组合 / 打散:可将多条条件组合为一组(带括号的复合条件),也可将组合条件打散还原。

比较符支持多种匹配方式:

作用范围
作用范围指条件满足后,渲染效果所施加的目标区域,一共有三种,可三选一:
- 当前单元格
- 当前行
- 当前列
条件满足后要渲染的内容
条件满足后要渲染的内容,目前支持的有:
| 名称 | 作用范围 | 说明 |
|---|---|---|
| 字体颜色 | 当前单元格,当前行,当前列 | 设置作用范围内字体的颜色 |
| 缩进 | 当前单元格,当前行,当前列 | 设置作用范围内文字的缩进距离 |
| 边框 | 当前单元格,当前行,当前列 | 设置作用范围内单元格的边框 |
| 背景色 | 当前单元格,当前行,当前列 | 设置作用范围内单元格的背景色 |
| 字体样式 | 当前单元格,当前行,当前列 | 设置作用范围内字样式 |
| 列宽 | 当前列 | 设置当前列的列宽 |
| 行高 | 当前行 | 设置当前行的行高 |
| 链接 | 当前单元格 | 设置当前单元格的内容为链接 |
| 新值 | 当前单元格 | 用表达式实现自当前单元格内容的定制功能 |
| 分页 | 当前行 | 在条件满足时于行前或行后强制分页 |
| 换行计算 | 当前单元格 | 控制单元格是否自动换行 |
| 内容渲染 | 当前单元格 | 复用内容渲染能力(HTML/图片/条码等) |
操作示例
下面通过一个完整范例演示各渲染内容的设置效果。本例所有条件均为:当 E12(薪水)的值 大于 20000 时,对相应单元格应用对应的渲染。
前置准备
新建报表,参考数据库数据集添加 EMPLOYEE 数据库数据集。
报表设计
设计界面如下:

字段绑定设计如下:
| 单元格 | 字段 |
|---|---|
| A12 | EMPLOYEE_ID |
| B12 | DEGREE |
| C12 | SEX |
| D12 | EMPLOYEE_NAME |
| E12 | SALARY |
| F12 | BIRTHDAY |
| G12 | |
| H12 | WEB |
| I12 | CMNT |
逐单元格设置条件渲染
A12 — 字体颜色:E12 > 20000 时,字体颜色为红色。

B12 — 缩进:E12 > 20000 时,缩进字符数为 2。

C12 — 边框:E12 > 20000 时,边框颜色为蓝色。


D12 — 背景色:E12 > 20000 时,单元格背景为绿色。

E12 — 字体样式:E12 > 20000 时,字体为粗体加删除线。


F12 — 列宽:E12 > 20000 时,列宽为 120pt。

G12 — 行高:E12 > 20000 时,行高为 50pt。

H12 — 链接:E12 > 20000 时,为单元格添加网页链接。


I12 — 新值:E12 > 20000 时,单元格内容替换为 A12 + ":自定义字符串"。

上述范例的效果汇总如下:
- 字体颜色:薪水大于 20000 的字体为红色
- 缩进:薪水大于 20000 的缩进 2 个字符
- 边框:薪水大于 20000 的单元格边框为蓝色
- 背景色:薪水大于 20000 的单元格背景色为绿色
- 字体样式:薪水大于 20000 的字体粗体加横线
- 列宽:薪水大于 20000 的列宽为 120pt
- 行高:薪水大于 20000 的行高为 50pt
- 新值:薪水大于 20000 的单元格内容调整为"部门编号 + 自定义字符串"
预览
保存相关设定后再预览报表:
