FineReport Switch函数使用详解
时间:2026-05-30 09:57:44 488浏览 收藏
当面对复杂条件判断时,嵌套if函数不仅编写繁琐、维护困难,还容易出错;而FineReport中的switch函数提供了一种更简洁高效的选择——只需指定一个表达式,即可通过键值对实现多分支精准匹配,逻辑一目了然、执行性能更优。本文以学生分数报表为例,手把手演示如何在模板中利用switch函数将英文班级编码(如Class1、Class2)快速映射为中文名称(如“一班”“二班”),完成语义化转换,并涵盖数据集配置、单元格编辑、自定义显示值设置及预览效果等完整实操流程,助你轻松提升报表开发效率与可读性。
当判断条件较为复杂时,若使用 if 函数,需逐层嵌套、逐一比对各种情形,不仅编写费时,后期维护也相对困难。此时推荐使用 switch 函数——它仅需指定一个表达式,即可实现多分支匹配,逻辑清晰、写法精炼、执行高效。以下以国产专业报表工具 FineReport 为例,简要说明 switch 函数的实际应用场景与配置步骤。
1、 基本语法结构
2、 根据输入表达式的计算结果,在预设的键值对中查找匹配项,并返回对应值;若所有项均不匹配,则返回设定的默认结果(如未指定默认值,则返回空)。
3、 若表达式运算结果为 1,则函数整体输出 1。
4、 若表达式运算结果为 2,则函数整体输出 2。
5、 若表达式运算结果为 3,则函数整体输出 3。
6、 新建空白模板
7、 新增数据集 ds1,SQL 查询语句为:SELECT * FROM stscore,用于加载学生分数原始数据。
8、 模板设计思路
9、 设置单元格样式及布局:

10、 在模板中调用 switch 函数实现分类映射
11、 定位至 A2 单元格,右键选择【插入数据列】→【高级】,或直接双击该单元格进入编辑模式。在“自定义显示值”栏中输入如下表达式:switch($$$,Class1,一班,Class2,二班,Class3,三班,Class4,四班)
该表达式的作用是将字段值 Class1、Class2、Class3、Class4 分别映射为中文班级名称“一班”“二班”“三班”“四班”,完成字段语义转换,实际效果如下图所示:

12、 预览最终呈现效果
13、 支持分页渲染,展示效果如下:

终于介绍完啦!小伙伴们,这篇关于《FineReport Switch函数使用详解》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
文章 · 软件教程 | 14小时前 | 环境变量 · postman · 软件教程 · 接口测试 · 导入导出 · 环境变量 Collection JSON文件 导入导出 Postman Environment 接口集合308 收藏
-
文章 · 软件教程 | 1天前 | PNG · diagrams.net · 软件教程 · draw.io · 流程图 · 透明背景 流程图 软件教程 Diagrams.net PNG导出 draw.io 图片归档130 收藏
-
文章 · 软件教程 | 3天前 | 版本控制 · source control · 软件教程 · VS Code教程 · Git冲突 · VS Code 软件教程 Git冲突 Source Control Merge Editor 提交核对395 收藏
-
文章 · 软件教程 | 3天前 | network · Har · 软件教程 · Chrome DevTools · 前端调试 · 软件教程 Chrome DevTools HAR文件 Network面板 前端排查410 收藏
-
文章 · 软件教程 | 5天前 | 开发工具 · vs code · 软件教程 · 设置排错 · VS Code 搜索排除 search.exclude files.exclude Use Exclude Settings256 收藏
-
文章 · 软件教程 | 5天前 | 接口文档 · postman · openapi · 接口测试 · Collection导出 · OpenAPI 软件教程 Collection Postman 接口调试363 收藏
-
157 收藏
-
文章 · 软件教程 | 2星期前 | csv · 数据库工具 · dbeaver · 软件教程 · 数据导出 · SQL Editor 查询结果 CSV导出 DBeaver Data Transfer366 收藏
-
422 收藏
-
203 收藏
-
文章 · 软件教程 | 2星期前 | Windows · 软件教程 · 7-Zip · 压缩工具 · 文件加密 · AES-256 · 7-zip 加密压缩 软件教程 7z AES-256 压缩包密码438 收藏
-
文章 · 软件教程 | 2星期前 | vs code · 软件教程 · Auto Save · 编辑器设置 · 代码格式化 · VS Code 自动保存 settings.json Auto Save 保存后格式化356 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习