本文主要是介绍报表工具对比之样式——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润乾报表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!