BIRT是一个优秀的报表插件,本文将涉及它的安装到简单使用的整个过程。
一,安装
1:到http://download.eclipse.org/birt/downloads下载相应版本(我的Eclipse是3.2,所以BIRT的版本是2.1M5)的Framework和runtime两个包。把Framework包解压,然后和其它plugin一样放到Eclipse的plugins和features目录下;把runtime解压到任意目录下,如C:\birtruntime。这里说明一点:BIRT的runtime在有些时候并不需要,比如但plugin导出为rcp发布后,在其它的机器上就不需要安装runtime来运行报表了。
2:BIRT要依赖GEF和EMF,所以你的Eclipse平台要正确安装GEF和EMF。
3:如果想用pdf格式显示报表结果,我们还要做以下两件事情:到http://prdownloads.sourceforge.net/itext/itext-1.3.jar下载itext,然后拷贝到plugins/org.eclipse.birt.report.engine.emitter.pdf_version/lib目录下;到http://dev.conio.net/repos/prototype/dist/prototype.js下载prototype.js,然后拷贝到/org.eclipse.birt.report.viewer_version/birt/ajax/lib目录下。
二,创建报表
0:配置BIRT环境,因为例子将要使用jdbc做为数据源,birt本身并布提供这样数据库的驱动,所以要把所使用的数据库驱动文件放到相应的目录。
下载derby.jar,derbyclient.jar,derbynet.jar,derbytools.jar四个jar,然后把他们拷贝到以下两个目录:
\plugins\org.eclipse.birt.report.data.oda.jdbc_2.1.0.M20060303-0920\drivers
\birt-runtime-2_1_0\ReportEngine\plugins\org.eclipse.birt.report.data.oda.jdbc\drivers
1:创建一个报表工程2:创建一个report文件,最后一步选空模板。
3:创建数据源。BIRT支持多种数据源,这里选择比较复杂的JDBC数据库数据源,数据库使用Derby做为例子。假定你的derby数据库已经配置正确并已运行,然后在Data Explore navigator视图下创建新的数据源,配置如下图,如果数据库访问有用户名和密码也正确填写:4:创建数据集。选择创建数据集后会有一个如下的窗口弹出,第一个是数据集的属性操作切换页,第二个窗口列出所有的数据表,第三个是编辑框,可以在里面手写或者在第二个框里拖动我们需要的数据库的某一列。
5:设计报表。这一步开始按照自己的需求来设计报表,birt提供了丰富的报表格式,如:柱状图、饼状图、chart、表等,这里我们用表做为例子,假设数据库有一个consignee的表,表有ID,name和location三列,我们设计一个报表,用户可以在报表上选择一个location,然后报表给出在这个location的所有用户。
5.1:按照需求,用户可以在报表上选择一个地点来统计结果,所以这里用到BIRT的parameter(参数)的技术,双击Data set数据源,选择parameters,创建一个新的参数,如图:然后切换到Query界面,添加一句sql语句where location = ?,如下:
5.2 创建一个叫做Parameter的新数据集,此数据集只提供动态参数的数据来源(这个作用稍后会更清晰的看见)
SQL语句为:
from APP.CONSIGNEE
5.4设计报表的表格。
5.4.1 拖动一个默认属性的table到界面上,然后点右键,选择“Edit Data Binding”,如下图设置:5.4.2 把Data Set数据集里的三列分别拖到table的第一到第三列,效果如图:
5.5 预览。到这里,简单的应用都有了,点击一下preview看一下效果,首先点击“show Report Parameter”,出现这个:
这个combobox里面的内容就来自数据集Parameter,是动态的。选择一个参数运行就能看见结果了。
三,使用设计好的报表
如果想在另外一个项目中使用设计好的报表文件,有两种方式,一个是用web的方式查看结果,另一个是用pdf的方式,这里介绍web方式,例子是一个单独运行起来的birt报表。
在想显示报表的地方使用如下语句:
String path = filePath + "filename.rptdesign";
WebViewer.display(path, WebViewer.HTML, true);
注意最后一句的最后一个参数,如果想在报表中使用参数就为true否则为false。
四,总结birt的功能很强大,还有柱状图等很图形可供使用,原理都很相似,可以在使用种慢慢摸索。
来源:https://www.cnblogs.com/Aimd/archive/2006/05/16/401151.html