Birt使用经验谈

合集下载

birt报表技巧

birt报表技巧

Birt中的分页显示报表:方法如下:1、将鼠标停在表格上,选择明细数据行(Row Detail) 。

2、选择脚本(script)标签,在onPrepare方法中加入:count=0;在onCreate方法中加入:count++;if(count % 10==0){this.getStyle().pageBreakAfter="always";}然后放到服务器上运行,则实现分页显示。

Birt中报表参数的用法(一)Birt中有两种参数,一种是数据集参数,一种是报表参数。

数据集参数一般是用于select语句中的?所代表的参数的。

而报表参数一直则是整个报表的参数,定义它的目的一方面是和数据集参数绑定,一方面是在脚本中使用它。

例如:我想设计一个报表,通过参数传递一个数据库中的表名,显示相应表中的数据,所有的表的结构一样!做法如下:先定义数据源;然后定义数据集,查询选项中的语句写select * from [要传入的表名中的任意一个];然后定义一个报表参数table,设置一个默认值(默认表名);然后再数据集的脚本的beforeOpen方法中加入:this.queryText="select * from "+params["table"]; ;完成。

如何在Tomcat中配置使得能显示Birt Chart报表:今天看了一本关于Birt方面的书,提到了在Tomcat中成功部署Birt的方法。

我试了一下,果然可以,即可访问普通报表,又可访问chart报表,而且方法也比较简单。

现介绍如下:1、从网上下载birt-runtime-version.zip并解压(/birt/downloads/build.php?build=R-R1-2_1_3-200707051847)。

2、将解压后根目录中的WebViewerExample文件加复制到Tomcat根目录下的webapps下面,并更名为birt_viewer2.2(因为我下的是2.2版本)3、复制第三方软件:iText.jar(复制到birt_viewer2.2\WEB-INF\platform\plugins\com.lowagie.itext_1.5.2.v20070626\lib 下)axis.jar axis-ant.jarcommons-discovery-0.2.jar jaxrpc.jar saaj.jar wsdl4j-1.5.1.jar(复制到birt_viewer2.2\WEB-INF\lib)prototype.js(复制到birt_viewer2.2\webcontent\birt\ajax\lib下)birt2.1,2.2版本下载下来后就包含了以上所有第三方软件,你只需到相应目录下确认一下,有的话就不用管了!若没有的话就复制到相应目录下即可。

birt使用指南

birt使用指南

山东电力集团公司门户项目组2007年1月修订页目录1.简介 (4)2.功能介绍 (4)2.1支持的报表 (4)2.2体系组成 (4)2.3J2EE应用中的BIRT (5)3.软件下载 (5)4.报表制作 (6)4.1简单的例子 (6)4.2设计细节 (19)4.3子报表设计 (23)4.4图表设计 (25)4.5图表细节 (27)4.6项目应用 (35)5.应用部署 (39)Birt 使用文档1.简介BIRT是一个Eclipse-based开放源代码报表系统。

是基于J2EE的Web应用程序上。

BIRT 主要由两部分组成:一个是基于Eclipse的报表设计和一个可以加到你应用服务的运行期组件。

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

目前正式版本是2.1.1,2.2版已经在发布中已经有2.2M4版可以下载,中文版暂时还没有,项目中使用2.1.1的中文版本。

2.功能介绍2.1支持的报表1)列表列表是最简单的报表。

当列表变长时,你可以把相关数据增加到同一分组(基于客户的订单分组,基于供应商的产品分组)。

如果数据是数字类型的,你可以轻松的添加到“总数”、“平均”、或其他汇总中。

2)图表当需要图表表现时,数字型数据比较好理解。

BIRT 也提供饼状、线状以及柱状图标等。

3)信函和文档通知、信件、以及其他文本文档都很容易通过BIRT 方便建立。

文档包括正文、格式、列表、图表等。

4)混合报表很多报表需要联合以上所有的报表构成单一文档。

例如,一份客户声明会列出客户所需要的信息,为当前促进(promotions)提供文本,以及提供并行的出帐和入帐列表。

一份财政报表将包括声明、图表、表格,所有这些都将进行全方位的格式化,来匹配共有的配色方案。

2.2体系组成BIRT 报表包含四个部分:数据、数据转换、业务逻辑、陈述。

1)数据Web 服务、Java 对象,这些都可以作为BIRT 报表源。

2.1 版本提供JDBC 支持,也支持利用编码来获取其他地方的数据。

birt报表参数

birt报表参数

birt报表参数Birt报表参数是一种用于在Birt报表中传递数据和控制报表生成的方式。

通过使用Birt报表参数,用户可以在生成报表时输入参数值,从而实现对报表内容和显示方式的灵活控制。

本文将介绍Birt 报表参数的使用方法和注意事项。

Birt报表参数可以用于多种用途,比如用于过滤数据、控制报表显示方式或格式、动态生成报表标题等。

在使用Birt报表参数时,首先需要在报表设计中定义参数。

参数可以有多种类型,比如字符串、数字、日期等,具体类型根据需求而定。

定义参数时,可以设置参数的名称、默认值、是否可为空等属性。

在报表设计中使用参数时,可以通过参数名称引用参数的值。

在SQL查询中,可以使用参数名称作为查询条件,从而实现数据过滤。

在报表模板中,可以使用参数名称作为文本框、表格、图表等组件的属性值,从而实现动态显示和控制。

使用Birt报表参数时需要注意以下几点。

首先,确保参数的名称在整个报表中唯一,避免参数名称冲突。

其次,参数的默认值应该合理设置,以便在用户不输入参数值时有一个合理的默认行为。

另外,参数的类型和数据格式要与使用场景相匹配,避免出现数据类型不匹配或格式错误的问题。

在使用Birt报表参数时,可以通过给参数赋值的方式传递参数值。

参数值可以通过多种方式传递,比如URL参数、JavaScript脚本、数据集字段等。

在使用URL参数传递参数值时,可以通过在URL中添加参数名和参数值的方式实现。

需要注意的是,URL参数的值需要进行编码,以避免特殊字符引起的问题。

除了使用URL参数传递参数值外,还可以使用JavaScript脚本来动态设置参数值。

通过在报表模板中嵌入JavaScript脚本,可以根据需要计算参数值或从其他组件中获取参数值。

使用JavaScript脚本可以实现更加复杂和灵活的参数控制逻辑。

在报表生成时,Birt报表引擎会根据参数的定义和传递的参数值来生成报表。

报表生成过程中,Birt报表引擎会根据参数值对报表进行相应的数据过滤、显示控制或格式化处理。

birt入门文档(自己整理)

birt入门文档(自己整理)

Birt 入门文档目录1 BIRT -前言 (1)2 BIRT -简介 (1)3 BIRT -配置安装 (2)3.1 下载 (2)3.2 安装以及汉化 (2)4 BIRT -简例 (2)4.1 创建一张报表 (3)4.2 创建报表数据源和数据集 (5)4.3 构建Table (9)4.3.1 构建明细表 (9)4.3.2设置边框,样式 (10)4.3.3创建报表参数 (11)4.3.4设定颜色标识 (13)4.3.4过滤器使用 (15)5 BIRT -小结和回顾 (16)1 BIRT -前言本文档在简介BIRT这个开源免费的报表开发工具后将引导你设计出简单的报表,如想进一步了解BIRT的使用可参考BIRT在Eclipse中自带的帮助,Help→Help Contents。

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

BIRT是Business Intelligence and Reporting Tool的简写,即商业智能与报表工具。

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

BIRT主要由两部分组成:一个是基于Eclipse的报表设计器,另一个是可以加到你应用服务的运行期组件。

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

URL: /birt/ 这个网址可以找到BIRT,可以去看看。

使用BIRT可以开发出多样化的报表应用,包含:列表(最简单的报表就是列出数据)、图标(饼图,折线图,柱状图等)、交叉表(通过二维显示数据)、字符和文档、复合报表(多个报表组成)等。

有人总结了许多它的优点。

看一下:•操作界面友好大方;•功能并不逊色与商业报表工具;•CSS提供了强大灵活的样式定义,对于属性CSS的设计人员来说,应该可以设计出相当出色的报表样式;•集成在Eclipse中,不用再开启别的报表开发工具窗口;•BIRE的本地化做的很好,安装以后,可以汉化;•开源免费的报表产品,降低开发成本,一些报表开发工具除了价格昂贵以外,还有用户限制;3 BIRT -配置安装3.1 下载在BIRT官方网站/birt/ 下载。

birt报表参数

birt报表参数

birt报表参数BIRT报表参数是一种用于生成动态报表的工具,它可以根据用户的需求来动态地改变报表的内容和显示方式。

在本文中,我将介绍BIRT报表参数的一些基本概念和使用方法。

让我们来了解一下什么是BIRT报表参数。

BIRT报表参数是一种用于传递数据给报表的方式,它可以让用户在生成报表时输入一些参数值,从而影响报表的生成结果。

比如,我们可以通过报表参数来过滤数据、排序数据、设置报表的标题等等。

在BIRT中,报表参数的定义是在数据源上的,我们可以在数据源中定义一些参数,并在报表设计中使用这些参数。

当用户生成报表时,系统会提示用户输入参数值,并根据参数值来生成报表。

在使用BIRT报表参数时,首先需要在报表设计中定义参数。

定义参数的方式是在报表设计的参数视图中添加一个新的参数,并设置参数的名称、数据类型、默认值等属性。

参数的数据类型可以是字符串、整数、日期等,根据实际需求来设置。

定义好参数后,我们可以在报表设计的其他地方使用这个参数。

比如,我们可以将参数值作为过滤条件来过滤数据,或者将参数值作为标题的一部分来显示在报表上。

在使用BIRT报表参数时,我们可以通过多种方式来传递参数值。

一种常见的方式是通过URL传递参数值。

在URL中,我们可以使用参数名和参数值的键值对来传递参数值。

比如,我们可以使用以下URL来传递参数值:```http://localhost:8080/birtviewer/frameset?__report=report.rpt design&param1=value1&param2=value2```在上面的URL中,param1和param2是参数的名称,value1和value2是参数的值。

通过这种方式,我们可以在生成报表时动态地传递参数值。

除了通过URL传递参数值,我们还可以通过其他方式来传递参数值。

比如,我们可以在程序中使用API来设置参数值,或者在报表生成界面上手动输入参数值。

BIRT学习

BIRT学习

对象数据源不能进行动态SQL拼写方法一:设置表格内容隔行变色(变的是每行背景的颜色)1.选中整表,在script的onprepare里写:count=0;2.选中表格数据明细行,在script的oncreate里写:count++;if( count % 2 == 0 ){this.getStyle().backgroundColor="#ECF3FE";}else{this.getStyle().backgroundColor="#FCFFFE";}方法二:设置表格内容隔行变色(变的是每行内容的颜色)选中表格数据明细行,在属性编辑器的突出显示中添加"行数%2等于0" 颜色选择背景色自动。

设置柱形图与表关联的代码片段:var viewer = actuate.getViewer(evt.srcElement || evt.target);var table = viewer.getTable();table.setFilters(new actuate.data.Filter("Country", "eq", categoryData));table.submit();生成图形(柱形图和折线图混合图形时)乱码问题:一般把字体改为宋体(好像中文名称的就可以了如:幼圆、仿宋等)就可以了修改右侧在图表格式>图例>条目中修改修改标题:图表格式>标题中修改隐藏:This.getStyle().display=”none”;显示:this.getStyle().display=”hidden”打开BI报表交互(在整个BI的脚本clientScripts中的事件onContentUpdate添加)if(!this.getViewer().isInteractive())this.getViewer().enableIV();reportContext 是一个全局的上下文对象,利用这个上下文对象,可以在不同的事件响应处理类中传递信息。

birt报表使用简要说明

birt报表使用简要说明

Birt报表使用指南‎1Birt的安装方‎法‎把birt整合‎到了‎M yeclip‎s e6‎.5中,(e‎c lip‎s e的官方‎网站上提供‎有一个b‎i rt-re‎p or‎t-desig‎n e‎r-all-in‎-‎o ne-2_2_2‎.zip,你直接解压‎缩这个就可以了,就‎免‎去了birt与M‎y e‎c lipse6‎.5的‎整合)。

如‎果要把b‎i rt安装‎到Myec‎l ips‎e6.5中,‎要注意‎一些事情1.1ec‎l i‎p se的版本就‎是‎说你的eclips‎e版本要和适当的bi‎r t版本配合,当前‎b‎i rt的最新稳定‎版是‎b irt2.3‎。

如‎果使用的是e‎c lip‎s e3.3‎版本,你应‎该用bi‎r t-rep‎o rt‎-framew‎o r‎k-2_2_2.‎z‎i p,如果使用的‎是eclipse3.‎4,你应该用bir‎t‎-report-‎f r‎a mework‎-2_‎3_0.zi‎p版本不‎一致会出一‎些问题。

1.2‎在Mye‎c lipse‎6.5‎中装birt。

‎M‎y Eclipse‎6‎.5自带的是ecl‎i pse3.3,所以‎只能下载birt-‎r‎e port-fr‎a m‎e work-2‎_2_‎2.zip ‎(下载地‎址:htt‎p://d‎o wnl‎o ad.ec‎l ip‎s /‎b i‎r t/downl‎o‎a ds/index‎2.2.2.php)‎而birt-re‎p‎o rt-fram‎e w‎o rk-2_3‎_0.‎z ip是针对‎e cli‎p se3.‎4的。

把‎下载下来‎的birt-‎r ep‎o rt-fra‎m e‎w ork-2_2‎_‎2.zip包解压,‎解压后的featur‎e s文件夹下的所有‎文‎件拷贝到MyEc‎l i‎p se6.5安‎装目录‎下的..\m‎y ecl‎i pse\‎e clip‎s e\f‎e ature‎s 下,‎解压后的plu‎g i‎n s文件夹下的所‎有‎文件拷贝到..\m‎y eclipse\e‎c lipse\pl‎u‎g ins下。

birt的简单使用

birt的简单使用

最近项目用上了birt,一款开源的报表制作工具,当然开源的东西总是免不了简单方便等溢美之词。

我只用到了birt的脚本化数据源和脚本化数据集,所以这里也只说下这两者的简单使用。

1.报表的集成就不说了,网上一搜一大把,我用的是3.7.2版本的birt。

2.新建一个报表项目:首先新建一个普通的java工程test,在该工程下建立一个存放报表文件的文件夹birt,如下图所示:添加所依赖的jar包:3.环境搭建好了之后,下面创建一张效果如下所示的报表:其中行和列都是可以动态变化的。

4.新建报表:右击新建报表,我的是中文版的,报表后缀名为rptdesign:5.新建数据源:双击新建的报表,进入报表设计视图,在左上角?数据源节点右击新建数据源:选择脚本化数据源,填写名称即可。

6.新建数据集,在数据集节点右击新建数据集:选择第6步建立的数据源,填写数据集名称即可。

7.将数据集拖到可视化布局面板中,修改表头名称:此时系统生成了一个一行(ps:这里的行不包括页眉和页脚)一列的表格,双击name列,可以看到基本的一个列绑定:其中dataSetRow[“name”]表明了这个name的值来自数据集。

8.创建报表资源,方便起见,直接写死:9.报表事件处理程序的添加:为了支持报表的动态渲染,我选择了实现IReportEventHandler:然后在属性编辑器选择报表:为它添加刚才编写的事件处理程序:点击浏览有类选择:10.表格动态添加列:这里的列就是Resources.properties的数目加上名字这一列。

1).获取表格:我选择了根据表格名来获取:在属性编辑器-表中的常规里可以看到名称,如果没有,自己指定一个。

获取表格代码:2).表格插入行:调用th.insertColumn(int columnNumber,int optionFlag)即可插入行,optionFlag应该控制的是左右方向。

3).设置表头文本:下面红色的就是表头文件(来自于报表文件xml源),其实,如果不去看它的xml而直接调用java代码的话会无从下手,而看了xml文件后就非常清晰了,下面是设置表头文本的实现:4).动态添加数据集。

BIRT经验

BIRT经验

BIRT 经验总结----梅龙Birt 动态SQL ,改变参数方法一:在数据源的beforeOpen 事件中改变queryText 值 此种方法的好处在于:可以预览结果值(推荐)单击”数据集”→选择” script”→选择”beforeOpen ”事件 开始编辑截图:采用此方法后数据集中可以不用再写select 查询语句,如果有必要 可以在Date set 中配置参数方法二:在数据集date set 编辑器中有property binging 的属性截图:代码:此种方法 SQL 查询语句必须要在属性绑定中重写一次,否则报表无法获得SQL.可在这里动态的改变参数.在Data Set 中的查询语句,不可以有 “like ?” 这种写法.如果需要,采用上面介绍的动态SQL 改变方法中的任何一种拼凑SQL 语句 或者改变参数BIRT 打印SQL 调试SQL 语句和参数选中”数据源”—“脚本” 打开beforeOpen 事件 编辑代码:截图Birt强制分页Eclipse Birt2.1现在是自动按照分组进行分页显示,如果没有分组,那么自动是不进行分页显示的,如何对这种情况进行分页显示呢,方法如下:1、鼠标旋停在表格上,选择Row Detail一行;2、选择script标签页,打开birt的脚本编辑窗口;3、从下拉列表中选择onPrepare,在下面加入Javascript脚本如下:var count = 0;4、从下拉列表中选择OnCreate,在下面加入Javascript脚本如下:count++;if(count % 10 == 0){style.pageBreakAfter = "always";}5、保存,使用Web Reviewer进行预览,数据可以进行分页显示了。

注意不要使用Preview标签页进行浏览,这个标签页的浏览效果是不分页的。

发布到web 工程上,也可以进行分页显示了。

Birt使用详细说明

Birt使用详细说明

引言:初次使用Birt,感觉这个开源的报表工具实在是太好了,因为我也用过国内某收费报表工具,感觉某些地方没有Birt功能强大,如果花钱买过来,实在不划算。

一.下载及安装Birt ::/birt/downloads/,最简单的就是下载其中的birt-report-designer-all-in-one-XXX.zip 版本,直接运行就可。

二.Birt的参考资料:/posts/list三.新建一个报表的步骤:1.新建报表工程。

打开eclipse后,new->other->Business intelligence and reporting tools –>report project 如下图输入project name:birt即可。

2.新建报表。

new->other->Business intelligence and reporting tools–>report输入文件名,选择blank report 最后点击finish 3.设计报表之一构建数据源。

打开”data explorer ”将出现如下图,右击“data source”点击“manage dirver….”加上数据库的驱动.点击“Test Connection 。

”测试连接是否成功。

4.新建数据集右击“data sets”–> new data set从左边drag 相应的字段,构成查询sql语句5.报表布局显示出”paletee”选择“Report items”将table 拖到中间。

将数据集中的字段拖放到表的detail row中的单元格内最后点击“preview”,就可在报表中显示数据这样一个简单的报表就完成了。

6.定义动态参数查询新建报表参数点击数据集,选择”parameters”将其绑定到定义的报表参数中去同时修改Query,加上where条件先选择某一,如table, 等,再切换到script直接在里面写就可以了8.在web server下运行New ->other->web project将XXX. new_report.rptdesign copy到webContent目录下。

BIRT报表工具的使用总结

BIRT报表工具的使用总结

目录
什么是BIRT 为什么选择BIRT
如何使用BIRT
实操环境
/birt
birt-rcp-report-designer .zip 报表制作工具 birt-runtime.war 可以集成在JAVA项目中
客户端的官方例子
运行后,可以显示下面的view
设置-Aggegation聚合计算
设置-排序
if( params["srt"].value == "firstcol" ){row["CUSTOMERNUMBER"];} else if( params["srt"].value == "secondcol"){row["CUSTOMERNAME"];} else if( params["srt"].value == "thirdcol"){row["CONTACTLASTNAME"];}
高级-复用公共库
2.对选中的元素 进行套用自己定 义css
高级-业务类处理数据
高级-通过参数
传参数的场景 目地是通过不同的查询条件,过滤数据源 1.直接数据源就是使用参数变成带条件的查询 2.根据各列排训 3.数据源不变,只要过滤掉一些数据
高级-参数跳转
高级-连接
参数就是全局变量,可以URL替换实现数据更改
交叉表
交叉报表是报表当中常见的类型,属于基本的报表,是行、列方向都有分 组的报表。 行和列的交叉处可以对数据进行多种汇总计算,如:求和、平均值、记数、 最大值、最小值等。
学习关键点: 1. 见帮助里面的例子比较简单 , 只要确认好行、 列的分组项,和要计算的数值 2. 时间维度也非常简单,只要字段是日期型的, 直接拖进去就可以了

Birt_报表参数的使用配置说明

Birt_报表参数的使用配置说明

Birt 报表参数的使用Birt 是一款非常流行的开源报表开发工具。

本文总结了 Birt 报表中参数机制,并结合实例详细地阐述了参数的各种使用方法,最后介绍了 Birt 报表的源代码级使用。

以期为 Birt 报表使用者提供一个有益的参考。

序言参数是 birt 提供的一种很重要的机制,在 birt 中,参数具有变量的作用,它为 birt 报表的生成提供了一种灵活强大的机制。

本文基于 Birt 2.1.2 讲述 Birt 报表中一些重要的用法以及 birt 源码级的参数使用机理,为报表开发者以及报表应用程序开发者提供一个参考。

本文的示例是基于 Birt RCP designer 2.1.2 开发的,在阅读本文前,最好有 eclipse 相关经验,并且已经能够使用 Birt 插件制作一些简单报表,并了解 Birt 报表的一些基本概念,比如 Data Source(数据源),Data Set(数据集)等。

基本报表制作过程可见 developerworks 相关文章"BIRT:基于 Eclipse 的报表"。

本文示例使用 Birt 自带的 Sample 数据源,用到的数据基于图 1 所示的实体关系模型。

从这个模型中可以看出,文中示例用到三张数据库表分别为 customers,orders 和 orderdetails。

其中 customers 表的customernumber 字段作为外键出现在 orders 表中,而 orders 表的 ordernumber 字段做为外键出现在orderdetails 表中。

图 1. 实体关系模型1 标量参数(Scalar parameter)在使用 BIRT 参数的时候,首先要了解 BIRT 分为报表参数和数据集参数。

报表参数定义于整个报表内,而数据集参数定义于某个数据集(Data Set)中。

数据集参数使用的时候通常需要链接到某个报表参数或者利用绑定表(binding tab)和一个嵌套表中的某个数据元素绑定。

birt使用指南

birt使用指南

birt使用指南BIRT使用指南BIRT(Business Intelligence and Reporting Tools)是一套基于开放标准的商业智能和报表工具,由Eclipse开发。

本文档将详细介绍BIRT的使用指南,包括安装、数据源、报表设计和等内容。

1、安装1.1 BIRT1.2 安装Java开发工具(JDK)1.3 安装Eclipse1.4 安装BIRT插件2、数据源2.1 连接数据库2.2 导入数据源2.3 创建数据集2.4 数据集参数设置3、报表设计3.1 新建报表3.2 报表元素添加3.3 数据绑定3.4 样式设置3.5 图表设计3.6 嵌套表设计3.7 参数设置3.8查询过滤器3.9脚本设计4、报表4.1 导出报表4.2 配置报表方式4.3 调度报表任务4.4 报表API调用附注:1、本文档涉及附件:本文档所述示例代码和演示数据已打包为附件,可以通过以下:[附件]。

2、本文所涉及的法律名词及注释:2.1 商业智能(Business Intelligence):利用数据分析技术和工具,将企业内外部的海量数据加工分析,得出对业务决策有价值的信息。

2.2 报表(Report):根据特定的数据和要求,结合数据分析和可视化技术,将数据以表格、图表等形式呈现,用于信息展示和决策支持。

2.3 数据源(Data Source):报表所需的数据的来源,可以是数据库、文件、Web服务等。

2.4 数据集(Data Set):报表中用于展示数据的集合,通常与数据源相关联。

2.5 参数(Parameter):报表运行时可以输入的变量,用于动态筛选数据或配置报表行为。

2.6 查询过滤器(Query Filter):用于对数据集进行过滤,筛选出满足条件的数据。

2.7 脚本(Script):BIRT支持使用JavaScript进行报表设计,可以通过脚本实现自定义的数据处理、表达式计算及样式控制等功能。

birt 工作总结

birt 工作总结

Birt应用总结Birt是一套集成在Eclipse中的开源的报表设计工具,它自带有完整的一套工具,可以方便快速的设计出一般性的常用报表。

在我应用的一个月内,些许摸索,些许尝试之后,终于成功集成到项目中,下面我就自己的体会写下总结。

1.开发环境的搭建开始时用的官方的all-in-one,这是在windows下最快捷的birt方式,包含你需要的所有设计birt 的文件,还有一个完整的Eclipse SDK,但由于不支持web 项目,所以放弃了。

后来在原项目基础上,将all-in-one所属的birt相关的内容添加到原项目中对应的eclipse(Kepler)。

myeclipse下自带birt,但版本较低,不支持crosstable。

2.birt版本选择eclipse版本、birt版本及发布到tomcat下的birt-runtime版本配合,版本不一致会出一些兼容性的问题,如发布到tomcat下出现无法显示的问题。

使用前,最好网上查一下版本对应情况。

3.实现数据钻通birt允许用户通过单击行、节点等图表元素从一个报告转到另一个报告。

这样就可以通过一个选择的元素把两个报告链接起来。

通过设置Hyperlink传递参数实现数据钻取功能。

4.可见性切换用户可以通过选择图例来隐藏或显示一系列数据。

通过设置所选元素的visible 属性,通过写expression来动态控制。

5.数据集的动态修改通过在相应数据集的Script的beforeOpen方法中修改sql语句实现数据集的动态改变。

6.去除报表下面的日期方法1:点击设计器主页 - 点击属性,- 取消“页眉”“页脚”。

即取消显示页眉和页脚。

方法2:在xml里设置:<page-setup><simple-master-page name="Simple MasterPage" id="2"><property name="type">a4</property><property name="leftMargin">10px</property><property name="rightMargin">10px</property><property name="showHeaderOnFirst">false</property><property name="showFooterOnLast">false</property> //是否显示页脚 </simple-master-page></page-setup>7.隐藏与显示报表工具栏,导航栏方法1;调用run方法代替frameset方法方法2:webcontent\birt\pages\layout\FramesetFragment.jsp里找到下面这句:Mask.setBaseElements( new Array( birtToolbar.__instance,navigationBar.__instance, birtReportDocument.__instance) ),在里只要new Array去除相应的就行了。

BIRT使用说明

BIRT使用说明

BIRT简单实例
BIRT基本应用
• BIRT应用组件
数据资源管理 用来设置数据源、数据集、报表参数 Navigator 目录树 Outline
主要用以设置报表样式、添加图表
ห้องสมุดไป่ตู้
Palette 添加报表元素 属性编辑器 编辑报表属性
数据资源管理
设置数据源
• 配置数据源步骤
这里以SQL SERVER 2008数据库为例
13、点击Output columns查看输出列 13、点击Output columns查看输出列
14、点击Preview Results,查看预览结果 14、点击Preview Results,
15、将生成的结果集result,拖向旁边的空白区域 15、将生成的结果集result, result
1、右击数据源图标选择新建数据源 2、在出现的对话框中选择相应的数据源种类(在此选择JDBC数据源) 3、点击下一步,选择管理驱动程序添加相应JAR文件 4、选择相应的驱动程序,填写相应的URL、数据库用户名和密码,点击测试连接 5、选择OK,配置完成
• 添加数据集
1、右击数据集,选择新建数据集 2、下一步,在查询编辑况中输入相应SQL语句 3、点击OK,完成数据集添加
21、点击预览,在弹出的对话框中输入参数点击OK, 21、点击预览,在弹出的对话框中输入参数点击OK,获得 OK 查询结果
20、点击Parameters选项新建参数, Type中 20、点击Parameters选项新建参数,在Data Type中 Parameters选项新建参数 选择参数类型,在最后的Linked 选择参数类型,在最后的Linked To Report Parameter中选择第18步创建的参数名 点击OK 中选择第18步创建的参数名, Parameter中选择第18步创建的参数名,点击OK

Birt使用经验谈

Birt使用经验谈

Birt使用经验谈Chart图Michael 2006-04-11前段时间基本上写的基本上关于一般报表的,在一些网上朋友的要求下,本文档就介绍一下关于chart图吧。

这段时间也比较忙,也没时间去深入。

在那个地方也只是简单的介绍一下chart的设计步骤。

1.环境:在第一篇文档中差不多描述了,在此就不用多说了。

2.chart报表的简单例子步骤如下:●新建一个空白报表,名为:chart_sample.rptdesign●新建一个〔jdbc〕数据源.●新建一个数据集,sql脚本如下:(SELECTSUM(se.AMOUNT)AS AMOUNT,DATE_FORMAT(se.OPER_DATE,'%Y-%m')as OPER_DATE,se.IN_OR_OUT as TYPE FROM mms_storage_entryse,mms_storages WHERE s.ID=se.STORAGE_ID AND se.IN_OR_OUT='2'AND DATE_FORMAT(se.OPER_DATE,'%Y-%m')>=DATE_FORMAT('2005-01-01','%Y-%m')GROUPBY DATE_FORMAT(se.OPER_DATE,'%Y-%m'))UNION(SELECTSUM(se.AMOUNT)AS AMOUNT,DATE_FORMAT(se.OPER_DATE,'%Y-%m')as OPER_DATE,se.IN_OR_OUT as TYPE FROM mms_storage_entryse,mms_storages WHERE s.ID=se.STORAGE_ID AND se.IN_OR_OUT='1'AND DATE_FORMAT(se.OPER_DATE,'%Y-%m')>=DATE_FORMAT('2005-01-01','%Y-%m')GROUPBY DATE_FORMAT(se.OPER_DATE,'%Y-%m'))那个脚本是我在一个项目中用的,改了一些数据,就载过来用了:〕。

BIRT使用xml动态数据源总结

BIRT使用xml动态数据源总结

BIRT使用xml动态数据源总结BIRT 使用xml动态数据源总结博客分类:Java&EclipseXML数据结构EclipseWebworkMySQL因为系统需要,添加报表功能,瞄上了birt,学习之,入门教程看了一大堆,还好,多种数据源支持,对于sql还没精通,看着一大堆sql还有点犯难,所以,xml数据源成了我的首选,仔细研究之下,发现原来birt提供的初级功能原来很少,报表经常需要替换数据源来显示其不同的内容,而传统的设置xml数据源只是事前指定好xml文件,或url,google了一下,基本没有发现可用的例子,郁闷之,自己琢磨了一周几乎,更郁闷的是其实问题早有了答案,就载在acegi的权限控制之上一直未看到胜利的曙光下面把自己动态修改xml数据源的成功发上来我用的是webwork,其他用户请酌情修改相应参数这个是用来view报表的action 需要传入的参数是reban.reportName = 报表文件的文件名rbean.xmlDataUrl = 报表xml datasource url ,可以是stream,或xxx.xml 之类的,输入浏览器能显示xml即可BirtReportViewer.javaJava代码1. package com.morepower.controller.birt;2.3.import java.io.ByteArrayInputStream;4.import java.io.ByteArrayOutputStream;5.import java.io.InputStream;6.7.import javax.servlet.ServletContext;8.import javax.servlet.http.HttpServletRequest;9.10.import org.eclipse.birt.report.engine.api.EngineConstants;11.importorg.eclipse.birt.report.engine.api.HTMLRenderOption;12.importorg.eclipse.birt.report.engine.api.HTMLServerImageHandle r;13.importorg.eclipse.birt.report.engine.api.IHTMLRenderOption;14.import org.eclipse.birt.report.engine.api.IRenderOption;15.import org.eclipse.birt.report.engine.api.IReportEngine;16.import org.eclipse.birt.report.engine.api.IReportRunnable;17.importorg.eclipse.birt.report.engine.api.IRunAndRenderTask;18.importorg.eclipse.birt.report.model.api.DataSourceHandle;19.import org.eclipse.birt.report.model.api.ElementFactory;20.importorg.eclipse.birt.report.model.api.OdaDataSetHandle;21.importorg.eclipse.birt.report.model.api.OdaDataSourceHandle;22.importorg.eclipse.birt.report.model.api.ReportDesignHandle;23.import org.eclipse.birt.report.model.api.TableHandle;24.importorg.eclipse.birt.report.model.api.activity.SemanticExcep tion;25.26.27.import com.morepower.controller.AbstractAction;28.import com.morepower.util.BirtEngine;29.import com.morepower.view.BirtReporterBean;30.importcom.opensymphony.webwork.ServletActionContext;31.importcom.opensymphony.webwork.interceptor.ServletRequestAware ;32.33.public class BirtReportViewer extends AbstractAction implements34. ServletRequestAware {35. /**36. *37. */38. private static final long serialVersionUID = 1L;39. private static String REPORT_DIR = "birt-reportors";40. private static String REPORT_IMAGE_DIR = "images";41. private IReportEngine birtReportEngine = null;42. private HttpServletRequest request;43. private BirtReporterBean rbean;44. private InputStream reportStream;45. private static String DATASOURCE_NAME = "DataSource";46. private static String DATASET_NAME = "DataSet";47. private static String QueryText = "";48.49. public InputStream getReportStream() {50. return this.reportStream;51. }52.53. @Override54. public String execute() throws Exception {55. // get report name and launch the engine56. // resp.setContentType("text/html");57. // resp.setContentType( "application/pdf" );58. // resp.setHeader ("Content-Disposition","inline; filename=test.pdf");59. String reportName = rbean.getReportName();60. ServletContext sc = ServletActionContext.getServletContext();61. birtReportEngine = BirtEngine.getBirtEngine(sc);62. IReportRunnable design = birtReportEngine.openReportDesign(sc63. .getRealPath(java.io.File.separator + REPORT_DIR)64. + java.io.File.separator + reportName);65.66. ReportDesignHandle report = (ReportDesignHandle) design67. .getDesignHandle();68.69. // 只是动态更换数据源即可,不需改变报表的其他结构70. // 暂时不支持动态创建表格71.72. // create task to run and render report73. buildReport(report);74. IRunAndRenderTask task = birtReportEngine75. .createRunAndRenderTask(design);76.task.getAppContext().put(EngineConstants.APPCONTEXT_CLA SSLOADER_KEY,77. BirtReportViewer.class.getClassLoader());78.79. // set output options80. HTMLRenderOption options = new HTMLRenderOption();81. options.setImageHandler(new HTMLServerImageHandler());82. options.setImageDirectory(sc.getRealPath(java.io.File.separator83. + REPORT_IMAGE_DIR));84. options.setBaseImageURL(request.getContextPath()85. + java.io.File.separator + REPORT_IMAGE_DIR);86.options.setOutputFormat(HTMLRenderOption.OUTPUT_FORMA T_HTML);87. options.setOption(IRenderOption.HTML_PAGINATION, Boolean.TRUE);88.options.setOption(IHTMLRenderOption.MASTER_PAGE_CONTEN T, new Boolean(89. true));90.91. // options.setOutputFormat(HTMLRenderOption.OUTPUT_FORM AT_PDF);92.options.setOption(HTMLRenderOption.HTML_ENABLE_METADA TA, Boolean.FALSE);93. ByteArrayOutputStream bout = new ByteArrayOutputStream();94. //String renderstr = bout.toString("utf-8");95. options.setOutputStream(bout);96. task.setRenderOption(options);97.98. /*99. * 另外一种方案,直接在action中构造inputStream 对像,但这样100. * 可能导致你的报表viewer与具体业务类耦合!101. * task.getAppContext().put(org.eclipse.datatools.enablement.oda.xml.Constants.APPCONTEXT_INPUTSTREA M,102. reportStream);103. task.getAppContext().put(org.eclipse.datatools.ena blement.oda.xml.Constants.APPCONTEXT_CLOSEINPUTSTREAM, 104. Boolean.TRUE);*/105.106. // run report107.108. task.run();109. task.close();110. reportStream = new ByteArrayInputStream(bout.toBy teArray());111.112. return SUCCESS;113. }114.115. /**116. * 清除原有的数据源117. */118. protected void clearDataSource(ReportDesignHandle desi gnHandle) {119. //DataSourceHandle dsh = designHandle.findDataSour ce(DATASOURCE_NAME);120. //dsh.drop();121. int count = designHandle.getDataSources().getCount ();122.123. try {124. for (int i = 0; i < count; i++)125. designHandle.getDataSources().drop(i); 126. } catch (SemanticException e) {127. log.error(e);128. e.printStackTrace();129. }130. }131.132. /**133. * 清除原有的数据集134. */135. protected void clearDataSet(ReportDesignHandle designH andle) {136. getQueryText(designHandle);137. int count = designHandle.getDataSets().getCount();138. try {139. for (int i = 0; i < count; i++)140. designHandle.getDataSets().drop(i); 141. } catch (SemanticException e) {142. log.error(e);143. e.printStackTrace();144. }145. }146.147. /**148. *149. */150. protected void getQueryText(ReportDesignHandle designH andle) {151. QueryText = (String) designHandle.getDataSets().ge t(0).getProperty(152. "queryText");153. }154.155. protected void buildReport(ReportDesignHandle designHa ndle) {156. try {157. ElementFactory designFactory = designHandle.ge tElementFactory();158. buildDataSource(designFactory, designHandle);159. buildDataSet(designFactory, designHandle); 160. TableHandle table = (TableHandle) designHandle .getBody().get(0);161. table.setDataSet(designHandle.findDataSet(DATA SET_NAME));162.163. } catch (SemanticException e) {164. log.error(e);165. e.printStackTrace();166. }167.168. }169.170. protected void buildDataSource(ElementFactory designFa ctory,171. ReportDesignHandle designHandle) throws Semant icException {172. clearDataSource(designHandle);173. OdaDataSourceHandle dsHandle = designFactory.newOd aDataSource(174. DATASOURCE_NAME,175. "org.eclipse.birt.report.data.oda.xml" );176. /*dsHandle.setProperty( "odaDriverClass",177. "com.mysql.jdbc.Driver" );178. dsHandle.setProperty( "odaURL", "jdbc:mysql://loca lhost/stat" );179. dsHandle.setProperty( "odaUser", "root" ); 180. dsHandle.setProperty( "odaPassword", "" );*/ 181. dsHandle.setProperty("FILELIST", rbean.getXmlDataU rl());182. designHandle.getDataSources().add(dsHandle); 183. } 184.185. protected void buildDataSet(ElementFactory designFacto ry,186. ReportDesignHandle designHandle) throws Semant icException {187.188. clearDataSet(designHandle);189. OdaDataSetHandle dsHandle = designFactory.newOdaDa taSet( DATASET_NAME,190. //"org.eclipse.birt.report.data.oda.jdbc.JdbcSelec tDataSet" );191. /* OdaDataSetHandle dsHandle = designFactory.newO daDataSet(DATASET_NAME,*/192. "org.eclipse.birt.report.data.oda.xml.data Set");193. dsHandle.setPrivateDriverProperty("XML_FILE", rbea n.getXmlDataUrl());194. dsHandle.setPrivateDriverProperty("MAX_ROW", "-1") ;195. dsHandle.setQueryText(QueryText);196. dsHandle.setDataSource(DATASOURCE_NAME);197. designHandle.getDataSets().add(dsHandle); 198.199. }200.201.@Override202. public void setServletRequest(HttpServletRequest arg0) {203. request = arg0;204.205. }206.207.@Override208. public void destory() {209. BirtEngine.destroyBirtEngine();210. }211.212. public BirtReporterBean getRbean() {213. return rbean;214. }215.216. public void setRbean(BirtReporterBean rbean) { 217.this.rbean = rbean;218. }219.220.@Override221. public void initilize() {222. try {223. /doc/d8*******.html,("报表系统初始化中............"); 224. BirtEngine.initBirtConfig();225. REPORT_DIR = BirtEngine.getBirtReportorPropert y("report_dir");226. REPORT_IMAGE_DIR = BirtEngine227. .getBirtReportorProperty("report_image _dir");228. DATASOURCE_NAME = "DataSource";229. DATASET_NAME = "DataSet";230. } catch (Exception e) {231. e.printStackTrace();232. log.error(e);233. }234. }235.236.}BirtEngine.javaJava代码1. package com.morepower.util;2.import java.io.InputStream;3.import java.io.IOException;4.import java.util.Properties;5.import java.util.logging.Level;6.7.import/doc/d8*******.html,mons.logging.Log;8.import/doc/d8*******.html,mons.logging.LogFactory;9.import org.eclipse.birt.report.engine.api.EngineConfig;10.import org.eclipse.birt.report.engine.api.IReportEngine;11.import javax.servlet.*;12.importorg.eclipse.birt.core.framework.PlatformServletContext;13.import org.eclipse.birt.core.framework.IPlatformContext;14.import org.eclipse.birt.core.framework.Platform;15.import org.eclipse.birt.core.exception.BirtException;16.importorg.eclipse.birt.report.engine.api.IReportEngineFactory;17.18.public class BirtEngine {19. private static IReportEngine birtEngine = null;20. private static Properties configProps = new Properties();21. private final static String configFile = "BirtConfig.properties";22. protected final static Log log = LogFactory.getLog(BirtEngine.class);23. public static synchronized void initBirtConfig() {24.25. loadEngineProps();26. }27.28. public static synchronized IReportEngine getBirtEngine(ServletContext sc) {29. if (birtEngine == null) {30. EngineConfig config = new EngineConfig();31. if (configProps != null) {32. String logLevel = configProps.getProperty("logL evel");33. Level level = Level.OFF;34. if ("SEVERE".equalsIgnoreCase(logLevel)) {35. level = Level.SEVERE;36. } else if ("WARNING".equalsIgnoreCase(logLevel) ) {37. level = Level.WARNING;38. } else if ("INFO".equalsIgnoreCase(logLevel)) {39. level = /doc/d8*******.html,;40. } else if ("CONFIG".equalsIgnoreCase(logLevel)) {41. level = Level.CONFIG;42. } else if ("FINE".equalsIgnoreCase(logLevel)) {43. level = Level.FINE;44. } else if ("FINER".equalsIgnoreCase(logLevel)) {45. level = Level.FINER;46. } else if ("FINEST".equalsIgnoreCase(logLevel)) {47. level = Level.FINEST;48. } else if ("OFF".equalsIgnoreCase(logLevel)) {49. level = Level.OFF;50. }51.52. config.setLogConfig(configProps.getProperty("lo gDirectory"),53. level);54. }55. //sc.getRealPath("")+java.io.File.separator+configProps.getProperty("engine_home")56. config.setEngineHome("");57. IPlatformContext context = new PlatformServletContext(sc);58./doc/d8*******.html,(context.getPlatform());59. config.setPlatformContext(context);61. try {62. Platform.startup(config);63. } catch (BirtException e) {64. e.printStackTrace();65. }66.67. IReportEngineFactory factory = (IReportEngineFactory) Platform68. .createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);69. birtEngine = factory.createReportEngine(config);70.71. }72. return birtEngine;73. }74.75. public static synchronized void destroyBirtEngine() {76. if (birtEngine == null) {77. return;78. }79. birtEngine.shutdown();80. Platform.shutdown();81. birtEngine = null;82. }83.84. public Object clone() throws CloneNotSupportedException {85. throw new CloneNotSupportedException();86. }87.88. private static void loadEngineProps() {89. try {90. // Config File must be in classpath91. ClassLoader cl = Thread.currentThread().getContextClassLoader();92. InputStream in = cl.getResourceAsStream(configFile);93. configProps.load(in);94. in.close();95.96. } catch (IOException e) {97. e.printStackTrace();98. }100. }101. public static String getBirtReportorProperty(String ke y){ 102. return configProps.getProperty(key);103. }104.105.}robin 写道使用方法在浏览器中输入urlhttp://localhost:8800/stat/birtviewer.action?rbean.reportNa me=index .rptdesign&rbean.xmlDataUrl=http://localhost:8800/ stat/armrptxml.action?reporter.id=008a81b61c30d47e011c4f446718001b 对报表熟悉的人应该知道这个方法。

Birt学习笔记——birt开发过程中常见的问题(转)

Birt学习笔记——birt开发过程中常见的问题(转)

2011-11-02 00:06:42| 分类:技术 |字号订阅这是我自己在学birt的时候做的记录,版本是birt2.5.2,文字功底有限,表达的很不严谨,在这里仅供大家参孝学习:如果在这里找到有用的信息,请留下您的痕迹,如果对相同的问题有更好的解决方法,欢迎留言提示!>;>;1.说明,访问数据列有三种方式,如上面的row.id,或者可以使用row[";id";],或者可以使用row[1],得到的都是数据列id.>;>;2.在标题title,x轴,y轴上相应位置上设置字体为:Simsun(Founder Extended)(Simsun 即为宋体),乱码问题便可得到解决。

>;>;3.分组chart乱码,解决方法:Advanced->;Font->;Font family->;";Arail Unicode MS";如果没有选择项,可直接写上去>;>;4.要得到多系列的柱形图主要在于数据,要这样的数据才能形成多系列的柱形图:name-数目-年份:A 23 2007A 22 2006B 15 2007B 19 2006C 30 2007C 41 2006这样x轴设置成name,y轴设置成数目,分组设置成年份>;>;5.怎样在柱形图上显示数字?怎样使数字显示在柱形图的顶端?方法:在Format Chart选项下,选中Series->;Value(Y)Series->;把下方的Show Series Labels选项按钮选中即可要想使数字显示在柱形图的顶端,则还要点击同一页面的Labels按钮,然后在Position下拉框下选择Outside就行了>;>;6.why not 说明:为什么没有使用 birt report viewerBIRT Report Viewer 貌似做得很周到,提供如浏览,打印,export to CSV ,过滤参数的传入等一系列的快速操作.然而细心思考过,这个viewer还是存在不少问题:如不适用的报表传入参数方式(无输入验证,无日期控件);代码复杂,可扩展性差...... 发现不少功能形同虚设,所以决心抛弃.为什么不在.rptdesign里写sql往往实际项目的业务总是复杂的,不希望将复杂的逻辑通过几个简单的参数传入拼凑sql来实现,再说这样调试sql也是一件麻烦的事情,也不利于SQL管理所以我们提倡将查询的商业逻辑放回java Manager类,然后designer负责设计数据如何排列。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择新建报表所要采用的报表模板:空白报表。到此报表的基本信息已经设置完,如果不需要设置其他内容,则可以点击“Finish”按钮,如果还需要设置其他内容,点击“Next”按钮,进入下一步设置,如图所示:
此步的作用是:将报表内容转换成模板时所需要的信息,输入相应信息。也可以不用填写,点击“Finish”按钮完成新报表的基本信息设置。这样就建好了一张空白的报表。如图所示:
此表包含了页眉(表头),明细数据行(数据),页脚行。
拖动左边数据集“Test”下的列到表的相应明细数据行,如图:
拖完后点击“预览”,在编辑区就可以看到报表数据,如图:
这样一个简单的报表就做出来了。
? 运行报表
1) 将E:\birt-runtime-2_0_1\Web Viewer Example文件夹拷贝到应用服务器的E:\Tomcat5.0\webapps\目录下,并修改此文件夹名为“birt”。
? 其他:下载所需要的jar包,包括iText1.3、prototype.js v1.4.0 ,这两个jar包都可以在/birt/downloads/下载。将下载的iText1.3jar包放在E:\birt-runtime-2_0_1\Web Viewer Example\plugins\org.eclipse.birt.report.engine.pdf\lib目录下,prototype.js v1.4.0包放在E:\birt-runtime-2_0_1\Web Viewer Example\ajax\lib目录下。
选择“oracle.jdbc.driver.OrableDriver(v1.0)”项,输入数据库URL、用户名及密码。输入完后,点击“测试连接”按钮,检测是否正确连上。点击“Finish”按钮完成数据源的设置。
2) 设置数据建数据集”,如图:
弹出设置数据集属性的对话框,如图:
输入数据集名称(Test)、选择数据源(Test)、选择数据集类型(SQL Select Query).。点击“Finish”按钮,弹出编辑数据集窗口,如下所示:
在右边的空白编辑区输入查询SQL语句,点击左边的“预览结果”,可以看到查询处的结果集。如图:
点击左边“输出列”,设置输出列的显示名称,如图:
点击“ok”按钮完成数据集的设置。进入设计器页面。
3) 建报表项:
右键单击右边编辑区,选择“插入”——“表”,如图所示:
弹出表属性框:如图:
设置表的列数(3)及明细数据数(1),点击“ok”按钮完成插入表操作。在编辑区出现了表,如:
? 可运行环境:可以到/birt/downloads/下载最新版本,当前的最新版是birt-runtime-2_0_1。将其解压到相应目录,如:E:\birt-runtime-2_0_1。
? 可运行服务器:本人采用的是Tomcat5.0,jdk1.4.2。
? 设置报表
选择“数据库资源管理器”视图,
如果没有,可以点击菜单“窗口”——“显示视图”——“数据库资源管理器”,同样也可以打开“数据库资源管理器”。如图所示:
1) 设置数据源:即连接数据库
右键单击“数据源”,选择“新建数据源”。
弹出数据源属性窗口,如图:
选择相应的数据源类型,如“JDBC Data Source”,输入数据源名称“Test”,电击“Next”按钮进入下一步设置,如图:
5) 启动服务器:运行E:\Tomcat5.0\bin\startup.bat文件
6) 打开浏览器,在地址栏输入:
http://127.0.0.1:8080/birt/frameset?__report=test.rptdesign,即可以看到数据,如图:
到此一张简单的报表完成。
? 报表设计器:可以到/birt/downloads/下载最新版本,当前的最新版是birt-rcp-report-designer-2_0_1。将下载来的zip压缩包解压到相应的目录,如:E:\birt-rcp-report-designer-2_0_1。
Birt使用经验谈
入门级
Michael 2006-03-01
Jiabiao011@
到目前使用birt已经有快3个周了,在此谈谈本人在使用birt的一些心得,希望对新手有所帮助,本人不大会写文档,只是希望能跟大家一起分享。对于他的简介就不在这里重复了。
1. 环境
在以后的时间里,我会尽力多写点这方面的文档,并且更深入的了解、分析birt报表工具。在下一遍文档里,我会更详细的描述报表的设计特性(布局、样式、表的嵌套…….)
2. 简单报表例子
步骤如下:
? 打开报表设计器:运行E:\birt-rcp-report-designer-2_0_1目录下的birt.exe文件。报表设计器页面如下图所示:
? 新建报表:打开菜单“文件——新建——新建报表”,如图所示:
弹出新报表属性设置框口,如下图所示:
在文件名输入框中输入报表名称:如:test.rptdesign.同时也可以设置报表文件的存放路径,本人采用默认设置:E:\birt-rcp-report-designer-2_0_1\workspace\。电击“next”进入下一步设置,如图所示:
2) 将驱动程序包“ojdbc.jar”拷贝到E:\Tomcat5.0\webapps\birt\WEB-INF\lib\下。
3) 将包“iText1.3.jar”拷贝到E:\Tomcat5.0\webapps\birt\WEB-INF\lib\下。
4) 将E:\birt-rcp-report-designer-2_0_1\workspace\包下的test.rptdesign文件拷贝到E:\Tomcat5.0\webapps\birt\下。
选择所需驱动程序类,如果所需驱动不存在,则可以点击“管理驱动程序…”按钮,如图:
点击“添加…”按钮选择所需驱动程序所在的jar包。本人用的是“ojdbc14.jar”,此包为oracle数据的驱动包。添加完后点击“ok”进入到设置数据源的主页面,电击“驱动程序类”下拉框选择驱动程序类,刚添加的驱动已经存在,如图:
相关文档
最新文档