BIRT报表应用.docx

上传人:b****7 文档编号:9737723 上传时间:2023-02-06 格式:DOCX 页数:59 大小:1.60MB
下载 相关 举报
BIRT报表应用.docx_第1页
第1页 / 共59页
BIRT报表应用.docx_第2页
第2页 / 共59页
BIRT报表应用.docx_第3页
第3页 / 共59页
BIRT报表应用.docx_第4页
第4页 / 共59页
BIRT报表应用.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

BIRT报表应用.docx

《BIRT报表应用.docx》由会员分享,可在线阅读,更多相关《BIRT报表应用.docx(59页珍藏版)》请在冰豆网上搜索。

BIRT报表应用.docx

BIRT报表应用

BIRT报表配置说明

2007年6月14日

版本历史

版本/状态

作者

参与者

起止日期

备注

目录

0.文档介绍5

0.1文档目的5

0.2文档范围5

0.3读者对象5

0.4参考文档5

0.5术语与缩写解释5

1.背景介绍6

2.技术预研目标6

3.技术预研取得的工作成果6

4.BIRT报表应用的研究报告7

4.1BIRT报表设计器的安装与配置7

4.2使用BIRT报表设计器设计报表7

4.2.1设计一个简单的报表7

(1)创建一个报表项目7

(2)创建一个报表8

(3)建立数据源9

(4)建立数据集12

(5)建立表项14

4.2.2给报表添加统计图表15

4.2.3给报表添加输入参数来过滤数据20

(1)添加数据集参数20

(2)添加报表参数22

(3)绑定数据集参数与报表参数23

4.2.4定义报表模板27

4.2.5使用JAVA对象建立脚本数据源28

(1)获取数据的JAVA对象DataFactory.java28

(2)建立数据源及数据集29

(3)运行33

4.2.6报表设计的一些小技巧35

(1)给表添加行号35

(2)隔行高亮显示37

4.3展示设计好的报表40

4.3.1WEB容器生成方式40

(1)直接使用birt_runtime_2.1.2中的WebViewerExample40

(2)WEB调用相关动作及运行参数说明41

(3)使用BIRT提供的ReportEngineApi来调用报表并展现报表41

4.3.2ReportEngine(genReport.bat)生成方式50

(1)使用genReport.bat工具生成HTML或PDF文件50

(2)genReport.bat工具的相关参数说明53

0.文档介绍

0.1文档目的

0.2文档范围

0.3读者对象

0.4参考文档

提示:

例如:

0.5术语与缩写解释

缩写、术语

解释

1.背景介绍

(1)、英文简介

BIRTisanEclipse-basedopensourcereportingsystemforwebapplications,especiallythosebasedonJavaandJ2EE.BIRThastwomaincomponents:

areportdesignerbasedonEclipse,andaruntimecomponentthatyoucanaddtoyourappserver.BIRTalsooffersachartingenginethatletsyouaddchartstoyourownapplication.

(2)、中文简介

BIRT是一个Eclipse-based开放源代码报表系统。

它主要是用在基于Java与J2EE的Web应用程序上。

BIRT主要由两部分组成:

一个是基于Eclipse的报表设计和一个可以加到你应用服务的运行期组件。

BIRT同时也提供一个图形报表制作引擎。

BIRT拥有和Dreamweaver一般的操作界面,可以像画table一样画报表,也可以生成图片、导出Excel、html分页,样式比script设置简单,另外BIRT还有OLAP导航功能。

(3)、基本概念

∙数据源:

数据的来源,或提供者。

如xml数据源、jdbc数据源等。

∙数据集:

数据集合,它必须与数据源关联,可以理解为查询的结果。

∙报表以及报表项,报表可视为是针对一组数据集的表现形式,而报表项这是这个表现形式的某个具体的单元。

它们之间的关系,与窗体和控件的关系非常类似。

报表、数据集、数据源三者间的关系:

数据源---数据集---报表。

∙报表参数:

查询参数的表现形式,使用它可以构建更灵活的报表。

∙模板和库:

主要用于复用报表设计,提高报表开发的效率。

2.技术预研目标

能够使用BIRT设计并展示报表

3.技术预研取得的工作成果

BIRT报表设计器的安装与配置

使用BIRT报表设计器设计报表

BIRT报表的运行:

多种方式展示设计好的报表

4.BIRT报表应用

运行环境:

Eclipse3.2.2+汉化包

Birt2.1.2+汉化包

Tomcat5.X

4.1BIRT报表设计器的安装与配置

BIRT的下载地址是:

http:

//download.eclipse.org/birt/downloads/有两种下载方式:

1)All-in-One版本(birt-report-designer-all-in-one-2.1.2.zip),它包含了运行BIRT系统所需的组件,可直接应用。

2)Framework插件版本(birt-report-framework-2.1.2.zip),安装的必要环境为Java1.4.2/1.5JDK/JRE;EclipseSDK3.2,GEF3.2andEMF3.2。

安装步骤如下:

打开eclipse文件夹,在文件夹中再新建一文件夹(如:

birt),然后打开birt-report-framework-2.1.2.zip把其中的eclipse文件夹放入新建的birt文件夹中。

然后在同文件夹的links文件夹中,新建一个.link文件(如:

birt.link),且修改其(birt.link)里的路径(如:

path=d:

\\eclipse\\birt)即已完成。

4.2使用BIRT报表设计器设计报表

4.2.1设计一个简单的报表

(1)创建一个报表项目

选择“文件-新建-项目”,出现一新项目对话框。

打开"业务智能和报表工具”(BusinessIntelligenceandReportingTools)组,并选择"报表项目"。

点击下一步(next),输入MyfirstBirt作为项目名字

点击“完成”。

点击“是”,提示你切换到报表设计视图。

(2)创建一个报表

选择文件->新建->报表。

新建报表(newreport)对话框出现。

在TreeView中选择我们之前创建的项目:

MyfirstBirt

接下来在文件名字段输入:

first.rptdesign

点击下一步。

你可以在弹出的对话框中,任选一种报表模式,我这里以空白报表为例。

点击完成。

(3)建立数据源

打开数据资源管理器。

选择数据源节点。

用鼠标右键单击打开弹出菜单。

选择新建数据源。

新建数据源对话出现。

数据源类型的创建:

1)、选择ClassicModelsInc.示例数据库

在数据源名称输入框,输入"example"。

点击下一步。

点击完成。

作为将来的参考,我们回顾一下您将如何改变数据源:

打开数据资源管理器

打开数据源节点。

双击数据源。

数据源编辑器被打开。

您能做所有有需要的更改。

点击确定保存您的变动。

2)、选择JDBC数据库

在数据源名称输入框,输入"sample"。

点击下一步。

在管理驱动程序中添加JAR包,然后测试连接,成功后,确定即可。

注意:

我用的是SQLSERVER数据库,在管理驱动程序中要导入3个sqlserverJAR包(msbase.jar,mssqlserver.jar,msutil.jar),大家也可以用其他数据库,只不过要注意JAR包和数据库URL就可以了。

(4)建立数据集

打开数据资源管理器

选择数据集节点。

用鼠标右键单击打开弹出菜单。

选择新建数据集。

新建数据集对话将出现。

“在数据集名称”输入框,输入"examples"。

确保数据源下拉框显示的是我们之前创建的example数据源。

确保数据集类型下拉框选中的是"SQL查询语句"。

点击下一步,进入“查询”对话框。

这是创造和改变SQLquery的地方。

一旦您有基本的query,您能增加WHERE子句,调整所选择的字段集,等等。

使用SQL编辑器增加计算字段,由数据库引擎负责计算。

使用SQL别名子句给这样的字段命一个名字。

我写了一个SQL的查询语句:

select*fromCLASSICMODELS.PRODUCTS

点击完成,弹出一编辑数据集对话框,在“输出列”单元编辑其显示名称

在“预览结果”单元,可查看要显示的全部信息。

点击确定即可。

(5)建立表项

把鼠标移到palette,即可弹出一浮动框,选中“表”项,

用鼠标拖动“表”项,移到编辑区,即可弹出“插入表”对话框,

修改其属性后,(注意“数据集”要选上已有的数据集)点击确定

此表包含了页眉(表头),明细数据行(数据),页脚行。

拖动左边数据集“examples”下的列到表的相应明细数据行

拖完后点击“预览”,在编辑区就可以看到报表数据

这样一个简单的报表就做好了,(设计器的操作很多,在这里就不一一作介绍了)。

4.2.2给报表添加统计图表

1.添加新数据集chart,用于统计图表;

2.从"Palette"面板拖入"图表"项到报表中,此时会弹出"新建图表"窗口,选择图表类型;

3.在"选择数据"页,使用数据集chart,同时选中username列,将其拖入"类别(x)系列"。

对于统计列,同样将其拖入"类别y系列"。

这里还可以做数据筛选等操作;

4.在"图表格式"页,分别为x和y系列,填写相应的显示名称。

还可以做一些显示细节的调整;

5.预览,如图

4.2.3给报表添加输入参数来过滤数据

(1)添加数据集参数

在数据资源管理器中选择数据集,点右键或双击编辑数据集

编辑查询语句,在其后加入where过滤条件,用?

来代替数据集参数的值

在参数项中,点右上方的新建按钮,新建一个数据集参数

参数名随意,这里用param1,类型根据where条件后的参数类型决定,方向一般为输入,可以设置默认值

(2)添加报表参数

在数据资源管理器中的报表参数上点右键,新建报表参数

新建报表参数,名称随意,可以与数据集参数不同

(3)绑定数据集参数与报表参数

在设计视图中选中用来展示数据的表,如果下面的属性编辑器如图显示,说明选中了

在属性编辑器-表中点绑定选项卡,然后点击数据集参数绑定按钮

选中参数行后点编辑按钮

可直接输入params["报表参数名"],或者点输入框右边的按钮

在表达式生成器下方点报表参数/全部,双击param1,确定

点预览,这时会弹出参数对话框,默认值为1000,这里改为1010,确定

看到输出结果,只显示了用户标识大于或等于1010的用户信息

4.2.4定义报表模板

BIRT提供了模板机制来重用设计,可以加快报表的开发,定义报表模板有以下两种方式:

1.文件-新建-模板,输入名称等,可以设计一个模板文件;

2.对于已经设计好的报表,可以发布为模板。

在设计好的报表文件上点右键,选择发布到模板文件夹,输入名称即可。

4.2.5使用JAVA对象建立脚本数据源

(1)获取数据的JAVA对象DataFactory.java

如果使用EJB,需要把Jboss安装目录下client目录的所有jar包添加到构建路径

packagecom.wu.ejb3.client;

importjava.util.ArrayList;

importjava.util.List;

importjava.util.Properties;

importjavax.naming.InitialContext;

importjavax.naming.NamingException;

importcom.wu.ejb3.entity.Employee;

importcom.wu.ejb3.service.IEmployeeDAO;

publicclassDataFactory{

/**

*定制数据集合,这里也可以从数据库获取

*@return

*/

publicstaticListgetData(){

Employeeemp1=newEmployee();

emp1.setName("张三");

emp1.setSex("男");

emp1.setAddress("西安");

Employeeemp2=newEmployee();

emp2.setName("李四");

emp2.setSex("男");

emp2.setAddress("北京");

Employeeemp3=newEmployee();

emp3.setName("王五");

emp3.setSex("男");

emp3.setAddress("深圳");

Listlist=newArrayList();

list.add(emp1);

list.add(emp2);

list.add(emp3);

returnlist;

}

/**

*从EJB中获取数据集合,如果不使用EJB,方法可以删除

*@return

*/

publicstaticListgetDataByEJB(){

Propertiesprops=newProperties();

props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");

props.setProperty("java.naming.provider.url","localhost:

1099");

props.setProperty("java.naming.factory.url.pkgs","org.jboss.naming:

org.jnp.interfaces");

InitialContextctx;

IEmployeeDAOdao=null;

try{

ctx=newInitialContext(props);

dao=(IEmployeeDAO)ctx.lookup("EmployeeDAO/remote");

}catch(NamingExceptione){

e.printStackTrace();

}

returndao.getAll();

}

}

(2)建立数据源及数据集

1.在报表文件中新建一个脚本数据源

2.新建一个数据集

3.为数据集定制输出列

3.选择数据集employee,在报表设计视图点击Script选项卡进入脚本编辑界面。

在Script下拉框选择open方法,填入以下代码:

如果使用EJB,换成emps=DataFactory.getDataByEJB();

importPackage(P.wu.ejb3.client);

emps=DataFactory.getData();

iterator=emps.iterator();

在Script下拉框选择fetch方法,填入以下代码:

if(iterator.hasNext()==false){

returnfalse;

}

varemp=iterator.next();

row[1]=emp.getId();

row[2]=emp.getName();

row[3]=emp.getSex();

row[4]=emp.getAddress();

returntrue;

在Script下拉框选择close方法,填入以下代码:

emps=null;

iterator=null;

emp=null;

把数据集employee拖入设计视图中,报表就算设计完了

(3)运行

这里直接使用birt_runtime中的WebViewerExample来展示报表,解压birt-runtime压缩包中的WebViewerExample文件夹到Tomcat\webapps\下,复制设计好的报表文件到Tomcat\webapps\WebViewerExample下

把DataFactory.java打成JAR包。

如果使用EJB,还需要把SessionBean的接口及EntityBean等打入这个JAR包(这里是EJBReportClient.jar)。

把打好的JAR包复制到D:

\Tomcat\webapps\WebViewerExample\WEB-INF\lib下。

如果使用EJB还需要把Jboss安装目录下client目录的所有jar包复制到以上的目录下。

运行tomcat,然后在浏览器输入

http:

//localhost:

8888/WebViewerExample/frameset?

__report=EJBReport.rptdesign

4.2.6报表设计的一些小技巧

(1)给表添加行号

选中表的第一列,点右键,插入/在左侧插入行

在第一列第一个单元格插入一个“文本”项,输入“序号”

在第一列第二个单元格中插入一个“数据”项

如图输入后,预览即可看到结果

(2)隔行高亮显示

选中数据显示行,这里是第二行

在属性编辑器-行中点突出显示选项卡,点添加按钮

如下图设置

预览,结果见下图

4.3展示设计好的报表

首先需要下载BIRT报表的运行环境包(目前最新的稳定版为2.1.2)

http:

//www.eclipse.org/downloads/download.php?

file=/birt/downloads/drops/R-R1-2_1_2-200702271000/birt-runtime-2.1.2.zip

下载完成解压后文件结构如图:

如果需要输出PDF格式,需要下载itext-1.3.jar支持包,

如果输出PDF要显示亚洲语言,需要下载iTextAsian.jar支持包,

从大的方面来说,有两种生成方式:

4.3.1WEB容器生成方式

(1)直接使用birt_runtime_2.1.2中的WebViewerExample

1.将其复制到%TOMCAT%\webapps目录下,并将其更改名称为birtServer;

2.如需生成PDF格式,在birtServer\WEB-INF\platform\plugins\com.lowagie.itext目录下新建文件夹lib,并将itext-1.3.jar和iTextAsian.jar拷入其中;

3.把所使用的数据库的JDBC驱动jar包复制到birtServer\WEB-INF\platform\plugins\org.eclipse.birt.report.data.oda.jdbc(后跟版本号)\drivers目录下;

4.将设计好的报表,比如test.rptdesign放到BirtServer的根目录下,然后启动TOMCAT,即可通过

http:

//localhost:

8080/birtServer/frameset?

__report=test.rptdesign(相对路径)

或者

http:

//localhost:

8080/birtServer/frameset?

__report=C:

/test.rptdesign(绝对路径)

来访问。

如果要生成pdf文件,如下:

http:

//localhost:

8080/birtServer/frameset?

__report=test.rptdesign&__format=pdf

如果报表有输入参数,只需在上述url后拼接参数及值即可,如下:

http:

//localhost:

8080/birtServer/frameset?

__report=test.rptdesign&name=whj&date=2007-6-13;

5.如果需要和现有WEB项目集成,可直接把WebViewerExample目录下所有文件及文件夹复制到现有项目的WebRoot下部署运行即可。

(2)WEB调用相关动作及运行参数说明

1.frameset使用BIRTReportViewer浏览,提供带分页显示、导出数据到csv功能、pdf打印功能的导航条,加__format=pdf参数后可生成PDF

2.run不带工具条,html显示

3.可用参数列表

参数名

参数说明

参数值

默认值

__format

指定报表输出格式

html或pdf

html

__isnull

指明一个参数是null,常用于字符串类型。

如果提供参数且值为空:

-对于日期和数字类型,BIRT会将它们当作null处理。

-对于字符串,BIRT会将它作为空字符串。

因此,为了说明某个字符串是null,通常写为:

__isnull=参数。

报表输入参数名

None.Required.

__locale

本地化选项

en-us或ch-zh

虚拟机默认

__report

指定*.rptdesign文件路径

 

None.Required.

报表输入参数名

报表输入参数

具体的输入参数值

在设计报表时指定

__svg

指定是否使用SVG矢量图来显示图表。

SVG矢量图形是一种XML格式的文本文件,在IE下需要安装AdodbSVGViewer插件才能浏览。

true或false

安装插件后浏览时

frameset下默认true,run下默认false;不安装插件时默认为false

(3)使用BIRT提供的ReportEngineApi来调用报表并展现报表

1.新建web项目webrpt;

2.将birt-runtime-2_1_2\ReportEngine\lib下的所有文件拷入WebRoot下的WEB-INF\lib;

3.在WEB-INF目录中新建文件夹platform,并将birt-runtime-2_1_2\ReportEngine下的plugins和configuration拷入其中;

4.如需要PDF格式及其亚洲语言支持,需将itext-1.3.jar和iTextAsian.jar拷入platform\plugins\com.lowagie.itext文件夹的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1