报表工具对比之样式——BIRT报表VS润乾报表

2023-10-17 13:08

本文主要是介绍报表工具对比之样式——BIRT报表VS润乾报表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章《免费开源JAVA报表工具对比 BIRT报表VS润乾报表之初体验》中,分别使用两种报表工具(BIRT和润乾报表)做了清单式报表,不过由于报表中并没有做任何样式调整,因此预览的效果看起来比较枯燥单一、不够美观,而且跟整个大平台的色调也不统一。今天我们就来看看怎样通过样式来美化报表。
下面还是分别看一下BIRT报表和润乾报表对于需求样式的满足度以及处理方式。

 

样式要求
1. 满足常规的样式调整,如:字体、字号、前景色、背景色、边框等等;
2. 根据条件做出数据预警,如:金额大于8000元,字体红色显示;
3. 冻结表头,如:excel中不分页冻结窗口的效果;
4. 表体数据区域隔行异色显示;
5. 显示格式,如:金额显示货币符号;
6. 转换显示值,如:数据库查出来性别字段值是0,1,那么为了增加可读性将0显示为”男”,1显示为”女”。

 

下面开始分别操作进行对比:
BIRT
常规样式调整:
1. 可以满足,实现方式如下:
选中所要设置的网格,在属性编辑器Properties  Editor中,选择 General进行网格基本样式设置,包括Font、Size、Color、Background color等。如下图所示:
注:不仅是对于单元格,对于其他的报表元素,如:Lable、Table、Data等也都可以设置。
 
数据预警:
2. 不能满足,暂时未找到实现方法
冻结表头:
3. 不能满足,暂时没找到实现方法
注:没有找到不分页冻结表头的实现方式,不过在找的过程中意外发现了分页时每页显示表头的设置方式,如下图所示(记一下以备后面的不时之需……)

表体数据区隔行异色:
4. 可以满足,实现方式如下:
鼠标指在表格处,会在表格下方出现“Table”按钮,点击一下全选表格,再点击左边选择“Detail”行
切换到“Script”页,从下拉列表中选择“OnCreate”,(这个选择项一定别搞错了,不然就悲剧了…哎)加入如下代码:
if(row.__rownum % 2 == 0) {
    this.getStyle().backgroundColor = "#FAD764";
} else{
    this.getStyle().backgroundColor = "#FFFFFF";
}
效果:
 
显示格式:
5. 可以满足,实现方式如下:
选中所要设置的网格,在属性编辑器Properties  Editor中,选择 Format Number 或 Format DateTime 或Format String进行网格的显示格式设置,如下图所示
 
其中
 Format Number来设定数字的格式;
 Formt Date Time来设定时间日期的格式;
 Format String来设定字符型数据的格式。
转换显示值:
6. 可以满足,实现方式如下:
选中设置的字段,在属性编辑器Property Editor – Data中,选择Advanced然后选择Data找到On render属性,把属性编辑为if(this.getValue()=="CA"){this.setDisplayValue("加利福尼亚州");}
 
效果:
设置前
 
设置后,把英文缩写的州名,转换成中文增强可读性。
 
润乾报表
常规样式调整:
1. 可以满足,实现方式如下:
选中所要设置的网格,在工具栏编辑器中,选择进行网格的基本样式设置,包括字体、字号、字体颜色、网格背景色等。如下图所示:
  
注:除工具栏编辑器中可以对网格基本样式进行设置外,也可以在右侧属性编辑器中选择显示、字体进行设置。
数据预警:
2. 可以满足,实现方式如下:
选中所要设置的网格,在属性编辑器中选择显示,然后选择前景色在表达式里填写表达式为:
if(E2>3,-65536,-16777216) 


效果:
 
冻结表头:
3. 可以满足,实现方式如下:
选择表头行,在属性编辑器中选择行属性,然后在行类型下拉选项中选择报表头,设置后对应行的行首会显示一个“头”字。
 
效果:
  
注:为了突出表头简单设置了表头的样式。
表体数据区隔行异色:
4. 可以满足,实现方式如下:
选中表体部分,在属性编辑器中选择显示,然后选择背景色在表达式里填写表达式为:
if(row()%2!=0,-14336,-1),其中row()是润乾内置函数,取得当前单元格所在行的行号。
效果:
   
显示格式:
5. 可以满足,实现方式如下:
选中设置的字段,在属性编辑器中,选择值然后选择显示格式,双击值单元格选择设置,或者自定义
   
转换显示值:
6. 可以满足,实现方式如下:
选中设置的字段,在属性编辑器中,选择值然后选择显示值表达式为
map(list(1,2,3,4,5),list("哲学","经济学","教育学","理学","工学")),其中用到两个润乾内置函数:map()显示值对照表函数,从对照表中找出当前单元格对应值的显示值;list()获得一个枚举的数据集合。
   
效果:
设置前
    
设置后,把数字编号转换成了专业名称增强了可读性。
  
除了这个办法,还可以选用if()或数据集的方法做显示值转换。
注:显示值与显示格式的进一步设置方式可以参考文档
http://c.raqsoft.com.cn/article/1543563271737
总结一下:

这篇关于报表工具对比之样式——BIRT报表VS润乾报表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225598

相关文章

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

SpringBoot+EasyExcel实现自定义复杂样式导入导出

《SpringBoot+EasyExcel实现自定义复杂样式导入导出》这篇文章主要为大家详细介绍了SpringBoot如何结果EasyExcel实现自定义复杂样式导入导出功能,文中的示例代码讲解详细,... 目录安装处理自定义导出复杂场景1、列不固定,动态列2、动态下拉3、自定义锁定行/列,添加密码4、合并

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

sqlite3 命令行工具使用指南

《sqlite3命令行工具使用指南》本文系统介绍sqlite3CLI的启动、数据库操作、元数据查询、数据导入导出及输出格式化命令,涵盖文件管理、备份恢复、性能统计等实用功能,并说明命令分类、SQL语... 目录一、启动与退出二、数据库与文件操作三、元数据查询四、数据操作与导入导出五、查询输出格式化六、实用功

关于MyISAM和InnoDB对比分析

《关于MyISAM和InnoDB对比分析》:本文主要介绍关于MyISAM和InnoDB对比分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录开篇:从交通规则看存储引擎选择理解存储引擎的基本概念技术原理对比1. 事务支持:ACID的守护者2. 锁机制:并发控制的艺

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间