报表工具对比之样式——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

相关文章

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav

Python+wxPython开发一个文件属性比对工具

《Python+wxPython开发一个文件属性比对工具》在日常的文件管理工作中,我们经常会遇到同一个文件存在多个版本,或者需要验证备份文件与源文件是否一致,下面我们就来看看如何使用wxPython模... 目录引言项目背景与需求应用场景核心需求运行结果技术选型程序设计界面布局核心功能模块关键代码解析文件大

C++ scoped_ptr 和 unique_ptr对比分析

《C++scoped_ptr和unique_ptr对比分析》本文介绍了C++中的`scoped_ptr`和`unique_ptr`,详细比较了它们的特性、使用场景以及现代C++推荐的使用`uni... 目录1. scoped_ptr基本特性主要特点2. unique_ptr基本用法3. 主要区别对比4. u

Java多种文件复制方式以及效率对比分析

《Java多种文件复制方式以及效率对比分析》本文总结了Java复制文件的多种方式,包括传统的字节流、字符流、NIO系列、第三方包中的FileUtils等,并提供了不同方式的效率比较,同时,还介绍了遍历... 目录1 背景2 概述3 遍历3.1listFiles()3.2list()3.3org.codeha

CPython与PyPy解释器架构的性能测试结果对比

《CPython与PyPy解释器架构的性能测试结果对比》Python解释器的选择对应用程序性能有着决定性影响,CPython以其稳定性和丰富的生态系统著称;而PyPy作为基于JIT(即时编译)技术的替... 目录引言python解释器架构概述CPython架构解析PyPy架构解析架构对比可视化性能基准测试测

C#借助Spire.XLS for .NET实现Excel工作表自动化样式设置

《C#借助Spire.XLSfor.NET实现Excel工作表自动化样式设置》作为C#开发者,我们经常需要处理Excel文件,本文将深入探讨如何利用C#代码,借助强大的Spire.XLSfor.N... 目录为什么需要自动化工作表样式使用 Spire.XLS for .NET 实现工作表整体样式设置样式配置

VS Code中的Python代码格式化插件示例讲解

《VSCode中的Python代码格式化插件示例讲解》在Java开发过程中,代码的规范性和可读性至关重要,一个团队中如果每个开发者的代码风格各异,会给代码的维护、审查和协作带来极大的困难,这篇文章主... 目录前言如何安装与配置使用建议与技巧如何选择总结前言在 VS Code 中,有几款非常出色的 pyt

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别