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

相关文章

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Java实现本地缓存的四种方法实现与对比

《Java实现本地缓存的四种方法实现与对比》本地缓存的优点就是速度非常快,没有网络消耗,本地缓存比如caffine,guavacache这些都是比较常用的,下面我们来看看这四种缓存的具体实现吧... 目录1、HashMap2、Guava Cache3、Caffeine4、Encache本地缓存比如 caff

MySQL慢查询工具的使用小结

《MySQL慢查询工具的使用小结》使用MySQL的慢查询工具可以帮助开发者识别和优化性能不佳的SQL查询,本文就来介绍一下MySQL的慢查询工具,具有一定的参考价值,感兴趣的可以了解一下... 目录一、启用慢查询日志1.1 编辑mysql配置文件1.2 重启MySQL服务二、配置动态参数(可选)三、分析慢查

基于Python实现进阶版PDF合并/拆分工具

《基于Python实现进阶版PDF合并/拆分工具》在数字化时代,PDF文件已成为日常工作和学习中不可或缺的一部分,本文将详细介绍一款简单易用的PDF工具,帮助用户轻松完成PDF文件的合并与拆分操作... 目录工具概述环境准备界面说明合并PDF文件拆分PDF文件高级技巧常见问题完整源代码总结在数字化时代,PD

MySQL中读写分离方案对比分析与选型建议

《MySQL中读写分离方案对比分析与选型建议》MySQL读写分离是提升数据库可用性和性能的常见手段,本文将围绕现实生产环境中常见的几种读写分离模式进行系统对比,希望对大家有所帮助... 目录一、问题背景介绍二、多种解决方案对比2.1 原生mysql主从复制2.2 Proxy层中间件:ProxySQL2.3

Python清空Word段落样式的三种方法

《Python清空Word段落样式的三种方法》:本文主要介绍如何用python-docx库清空Word段落样式,提供三种方法:设置为Normal样式、清除直接格式、创建新Normal样式,注意需重... 目录方法一:直接设置段落样式为"Normal"方法二:清除所有直接格式设置方法三:创建新的Normal样

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比