报表是作为企业应用中比较常用的功能模块,要自己从头来设计开发报表是一件比较苦恼的事情,所以选择了使用一些报表工具来开发报表,主要用过的报表工具有:润亁报表,水晶报表,iReport+Jasperreports,以及现在正在研究的Birt。
Eclipse BIRT 具有报表系统的核心功能特征,如报表版面设计、支持数据库访问和简单控制脚本等.BIRT主要由两部分组成:一个是基于Eclipse的 报表设计和一个可以加到你应用服务的运行期组件。这次新版本的发布包含了200多个新特性,主要有:基于AJAX的分页CSV输出目录导航功能等等更多信 息可以访问: http://www.eclipse.org/birt/phoenix/ 进行查看和下载。
一、下载安装
1.从http://download.eclipse.org/birt/downloads/ 选择All -in- one 全集版下载,需要系统安装Java 1.4.2以上版本。
2.下载Runtime 运行环境,主要取得开发应用时的jar包和通过Birt自带的应用来运行报表。解压后将birt.war包放到应用服务器的布署目录下。(本人的环境是resin-pro-3.1.1\webapps\)
3.让birt支持以pdf方式预览:
Step 1: Download iText.jar http://prdownloads.sourceforge.net/itext/itext-1.3.jar
支持中文包 http://nchc.dl.sourceforge.net/sourceforge/itext/iTextAsian.jar
Step 2: Copy itext-1.3.jar to the eclipse/plugins/com.lowagie.itext_*/lib directory.
4.让birt支持以Excel方式预览
(1)导入一个第三方的包你可以到http://sourceforge.net/projects/tribix/这去下载与BIRT相同版本的包以及另一个要用到的POI包可以到http://www.apache.org/dyn/closer.cgi/poi/release下载。
(2)解開xls-emitter-bin_2.1.2.zip後將plugins複製到eclipse\plugins下
(3)POI解開後將jar檔複製到org.uguess.birt.report.engine.emitter.xls_2.1.2.200702131116\lib下
(4)将xls-emitter-bin_2.1.2\patch\org.eclipse.birt.report.engine下的整个目录覆盖压缩到eclipse\plugins\org.eclipse.birt.report.engine_2.1.2.v20070205-1728.jar文件中。
(5)启动Birt后就能在菜单下的快捷栏查看方式中看到多了一个View Report as XLS
二、实际应用
1.去掉首页上的标题BIRT Report Viewer方法:找到birt\webcontent\birt\pages\layout\FramesetFragment.jsp文件在里面定义了标题,加以修改。
2.运行报表前在WEB-INF\lib包下载入需要的包如:jdbc。
3.运行报表的URL后缀为:frameset?__report=demo.rptdesign,=号后为报表文件名。
4.如果url要传送中文参数,在url加: __locale=zh_CN。
5.通过Script方式,可以实现简单的分页和行交替颜色。
首先加一个表格,选中表格中的明细行,切换到Script标签页。在onRender事件中加入以下代码
var count=1; 在onCreate事件中写入
++count;
if (count % 10 == 0) {
style.pageBreakAfter = "always";
}
if (count % 2 != 0) {
style.setBackgroundColor("silver");
}
即可实现每页10条记录和交替颜色功能。
6.BIRT显示行号的方法
在表的detail的script的onprepare里写上count=1;在onCreate里写上count++; 在表格里插入一个data,里面写上count即可。
7.统计功能:
在需要统计的字段的编辑数据项的表达式中写入Total.sum(row["列名"]),即可
以上功能都是在开发时经常会使用到的,至于开发chart,和以Servlet方式运行报表等将在今后陆续介绍。