BIRT知识集锦基础知识大全.docx
- 文档编号:17469422
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:25
- 大小:90.27KB
BIRT知识集锦基础知识大全.docx
《BIRT知识集锦基础知识大全.docx》由会员分享,可在线阅读,更多相关《BIRT知识集锦基础知识大全.docx(25页珍藏版)》请在冰点文库上搜索。
BIRT知识集锦基础知识大全
BIRT知识集锦(基础知识大全)
报表介绍
BIRT是为Web应用程序开发的基于Eclipse的开源报表系统,特别之处在于它是以Java和J2EE为基础。
BIRT有两个主要组件:
基于Eclipse的报表设计器,以及部署到应用服务器上的运行时组件。
BIRT也提供了图标引擎让你能为应用增加图标。
当前发行的版本是1.0.1。
我们鼓励你下载、试用BIRT,请通过newsgroupsandBugzilla向我们提意见。
有了BIRT,你可以为应用程序构建丰富的报表。
列表-列表是最简单的报表。
当列表变长时,你可以把相关数据增加到同一分组(基于客户的订单分组,基于供应商的产品分组)。
如果数据是数字类型的,你可以轻松的添加到“总数”、“平均”、或其他汇总中。
图表-当需要图表表现时,数字型数据比较好理解。
BIRT也提供饼状、线状以及柱状图标等。
交叉表-交叉表(也叫做十字表格或矩阵)用两种维度展示数据:
salesperquarterorhitsperwebpage。
(交叉表在1.0.1中没有提供,但计划在将来提供。
)
信函和文档-通知、信件、以及其他文本文档都很容易通过BIRT方便建立。
文档包括正文、格式、列表、图表等。
混合报表-很多报表需要联合以上所有的报表构成单一文档。
例如,一份客户声明会列出客户所需要的信息,为当前促进(promotions)提供文本,以及提供并行的出帐和入帐列表。
一份财政报表将包括声明、图表、表格,所有这些都将进行全方位的格式化,来匹配共有的配色方案。
剖析一份报表
BIRT报表包含四个部分:
数据、数据转换、业务逻辑、陈述。
数据-数据库、Web服务、Java对象,这些都可以作为BIRT报表源。
1.0.1版本提供JDBC支持,也支持利用编码来获取其他地方的数据。
BIRT的ODA(OpenDataAccess)框架允许任何人构建新的UI以及运行时支持任何类型的表格式数据。
未来,单一报表可包含从任意多个数据源获取数据。
数据转换-报表通过对数据的分类、统计、过滤以及分组来适应用户需求。
当然,数据库能实现这些功能,当遇到普通文件和Java对象时BIRT必须以"simple"数据源方式处理。
BIRT允许复杂的操作,比如总合分组、整体共计的百分比,等等。
业务逻辑-真实世界的数据很少提供你理想的结构良好的报表。
许多报表要求用具体逻辑把原始数据转换成用户的有用信息。
如果该逻辑仅仅用于该报表,你可以用BIRT的JavaScript脚本支持。
如果你的程序中已包含这些逻辑,你可以调用已有的Java代码。
表现-一旦数据准备好了,你可以在很大的范围内选择表现形式。
表格、图表、文字等等都可以。
单一数据集可以有多种方式表现,而单一报表可以表现多个数据集。
J2EE应用中的BIRT
BIRT报表引擎以JAR文件方式打包,可以方便的添加到你的J2EE应用中。
报表引擎是一系列的POJO(PlainOldJavaObjects),便于你可以在JSP页面集成报表。
BIRT与你的应用有四个主要集成点:
UI参数-多数报表允许用户指定一些输入,这些数据叫做"报表参数"。
例如,客户报表要求显示客户数据。
你的参数页面可能是静态的:
为每个报表进行用户定制设计。
或者,可以使用参数元数据提供的动态页面,以便该单一页面为所有的报表提供服务。
运行报表-用户提交表单参数时,你的web应用通过这些参数向BIRT报表引擎说明读取哪个报表设计文件,并读取数据,再产生报表输出。
当引擎运行报表时BIRT的术语称为"工厂"。
数据访问-报表如何从你的应用获得数据已在上面解释了。
Java程序通常利用Java对象为BIRT工厂提供数据。
显示-附加的JSP页面,叫做阅读器,允许用户查看报表输出。
一个报表应用程序包含一个参数页,你可以为每个报表创建自定义的UI,或者使用BIRT带来的参数元数据提供单一报表来处理多种不同报表。
样品阅读器
BIRT项目提供一个样品"viewer"来帮你起步。
样品阅读器常被用于在Eclipse中预览报表:
BIRT内置一个ApacheTomcat服务器,每次预览报表时调用。
阅读器也可被用于任何与JSP兼容的J2EE服务器。
BIRT的1.0.1版本提供单一页面的web输出。
计划在将来的版本中提供多页面输出,而且阅读器UI也将提供多页面之间的导航功能。
报表设计
BIRT应用开发从报表设计开始。
基于Eclipse插件提供多种快速构建报表工具。
数据浏览器-把你的数据源(连接)以及数据集(查询)组织起来。
数据集编辑器允许你测试数据集,以确保报表接收数据的正确性。
布局视图-所见即所得编辑器为你的报表提供以拽方式来创建表现内容。
包含一个标准报表条目调色板。
属性编辑器-以便利的格局表现大多数通用的用户属性使编辑更快速和容易。
BIRT也集成了标准Eclipse属性视图,为每个条目提供详细的属性列表。
报表预览-你可以在任何时间采用真实数据测试你的报表。
预览窗口直接内嵌在Eclipse中。
代码编辑器-在访问数据以及报表生成或浏览时,脚本把业务逻辑添加给报表。
在编辑脚本时代码编辑器提供标准的Eclipse特性:
语法加色、自动完成等等。
BIRT用很简单的脚本来表达,expressionbuilder能更容易的创建这些表达。
略图-BIRT报表被组织为一个树型结构作为整体报表的根,并且为样式、报表内容、数据源、数据集、报表参数等分类。
略图视图提供你整个报表结构紧凑的预览。
CheatSheets-学习新工具永远是种挑战,但是Eclipse提供一种创新方案:
cheatsheets。
它们是一些帮助你完成新任务的文档。
数据定制
正如前面所提到的,报表通常为要表现的数据添加业务逻辑。
BIRT提供多个工具来完成这一操作:
栏位计算-数据库为存储组织数据,但这些数据通常为结合表现层而预先整理好。
栏位计算让你能定义基于业务逻辑的附加数据集栏位。
这种逻辑是一个简单的语法、脚本或调用一个已有的Java逻辑。
输入以及输出参数-许多数据源都支持参数:
在查询时传入或传出数据的能力。
比如,SQLSelect语句可包含输入参数。
存储过程既有传入又有传出参数。
栏位元数据-当数据源提供的名字是unintuitive的,你可以提供栏位别名。
过滤-有些数据源,尤其是SQL,提供良好的内置过滤特性。
然而,有些数据源(单纯的文件,应用程序对象)却没有提供过滤特性。
另外,过滤器条件是定义在脚本或Java代码中的。
你可把过滤器定义为报表的一部分,BIRT引擎会自动调用它们。
脚本化数据集-有些报表需要访问专门或不常用的数据。
你可以在Java或脚本创建访问,利用脚本化数据集可在报表中集成这些逻辑。
条件格式化
有些报表有着固定的格式,其他的却需要条件格式化。
例如,某报表列出了交易记录来表现不同的销售与利润之比。
或者,一个客户服务报表要按照不同规则进行色彩显示。
BIRT提供多个条件格式化特性:
条件可见度-你可以根据数据隐藏报表元素。
在上述的交易报表中,你可以创建销售和交易收入两部分,接着隐藏报表指定记录中不需要的部分。
值映射-数据库数据通常使用代码值:
M/F代表男性或女性,1/2代表销售和收入,等等。
值映射让你定义一个从数据库值到显示值的映射。
例如,我们可把值“1”对应到“Sale”,把“2”对应到“Return”。
加强-简单的标识可让你对特定报表套用样式。
例如,在客户服务报表中,我们可以使用绿色表示上一的计划,红色表示下一计划。
脚本
BIRT提供基于JavaScript(与知名的ECMAScript形式上相同)的脚本。
JavaScript经常作为客户端脚本语言,但是它也可以用于用于表达业务逻辑。
特别的,JavaScript能与你的现有Java逻辑进行良好集成,能非常轻松地从BIRT报表调用业务逻辑。
BIRT提供从JavaScript对象访问报表对象模型(ReportObjectModel)的整套方案:
同时表现报表设计和运行时的状况,允许报表的完全控制处理甚至最复杂的报表格式化工作。
项目管理
BIRT集成了Eclipse项目管理特性来组织相关报表。
BIRT也可以与EclipseCVS协作进行源码管理。
BIRT的XML报表设计格式让它能容易的比较两份报表,或者两个不同版本的相同报表,并跟踪变更。
样式
任何设计web页面的人都知道有时会反复使用相同的样式。
CSS允许web设计者从内容中提取样式信息,并复用样式。
BIRT提供类似的特性。
当然,BIRT样式也是基于CSS的,这样使得网页应用开发人员能容易得设计BIRT表现形式。
BIRT样式可堆叠,允许你在一个地方设置样式后套用到所有报表或报表的一部分或单一报表中。
库
典型的应用中会包括许多有关联的报表。
一个简单的客户应用将包括一个按照字母排序的客户列表、按照地理位置分类的客户群,为客户指定的销售代表,客户身份筛选等等。
总之,用户不停的地变化报表以解决具体业务需要。
这样一来,最终的报表应用将包含多组相关报表。
相同的数据源、样式、业务逻辑、报表条目。
将来的BIRT版本将包含组织这些共享资源的支持库。
这些库可包含任何报表元素,比如样式、数据源、报表条目、脚本等等。
国际化
全世界都可以访问你的web应用程序。
BIRT为国际化和本地化提供良好的支持。
文本本地化-你可以建立一份把字符串自动变成用户本地语言显示的简单报表。
所有的表单和报表文本都能以标准的Java本地化规则进行翻译。
在运行时,BIRT使用资源key找出文本的正确翻译。
本地化-BIRT提供locale-aware格式化数据,意味着对于美国用户的日期数据可以以mm/dd/yy的格式出现,而欧洲用户则是dd-mm-yy格式。
动态格式化-中文文本非常紧凑,德文有时又有点冗长,而英文正好是中等大小。
BIRT自动调整报表条目的大小来适合其中的内容,避免每次翻译都要进行报表测试。
扩展性
报表应用程序的范围是十分庞大的,BIRT团队不能为每个应用提供很具体的特性。
可利用BIRT脚本来扩展BIRT,另外还可构建BIRT扩展插件到BIRT中。
数据访问
BIRT提供ODA(OpenDataAccess)框架来支持自定义数据访问方法。
数据访问的范围还包括一个获取数据的运行时组件。
也包括构建自定义查询的自定义设计时UI。
例如,打包后的应用程序可以让ODA构建数据访问UI并运行在自己的数据模型中。
报表栏目
BIRT为要表现的数据提供一致的报表栏目集。
可以在应用程序中自定义附件报表栏目,并像BIRT自身的报表栏目一样运行在设计器和引擎中。
例如,性能管理应用程序要添加报表栏目来高亮显示停止项、尺度表以及其他用来衡量性能的可视标志。
图表类型
BIRT图表包提供了很多的图表类型。
但是,一些行业需要很特殊的图表样式。
开发者可以在BIRT图表引擎中创建图表插件来提供这些图表样式。
输出格式
BIRT1.0.1支持输出到HTML和PDF。
当然,也可能需要其他类型输出:
Excel、RTF(RichTextFormat)、SVG(ScalableVectorGraphic)、图像、等等。
BIRT在今后会提供其中一些,除开这些的其他格式可能需要的用户就很少了。
开发者可利用BIRT引擎接口添加转换器以达到目的。
BIRT知识集锦(基础知识大全)
[b]BIRT技巧集锦(基础知识大全)[/b]
0.
File-New-Project-BIRT-ReportProject
ReportProject-New-Report
---------------------------------
1.DataSources
DriverClass:
oracle.jdbc.driver.OracleDriver(v1.0)
Driver[url=jdbc:
oracle:
thin:
@192.168.1.1:
1521:
ORA92]URL:
jdbc:
oracle:
thin:
@192.168.1.1:
1521:
ORA92[/url]
---------------------------------
2.
我现在用的birt是2.3.0的版本,
GEF是3.5.0的
emf-xsd-Update是2.5.0的
emf-xsd-SDK是2.5.0的
请问有没有兼容问题?
---------------------------------
3.
请先安装Eclipse、GEF、EMF和BIRT。
---------------------------------
4.
在web工程里使用birt
下载birt的示例工程,将示例工程里的webcontent和web-inf下的东西拷到你的工程根目录下。
在jsp页面里访问报表使用url:
frameset?
__report=reportName¶m=?
paramValue
这里,frameset也可使用run,使用frameset支持ajax功能,支持报表的分页等
---------------------------------
5.
birt去除报表下面的日期
这个问题之前也有人问过,不过觉得很简单一直没在论坛里写出来,今天又有人问了,我就写一下吧
首先点击设计器主页-点击属性,-取消“页眉”“页脚”。
即取消显示页眉和页脚。
也可以在xml里设置:
说明:
打印报表会出现一些如网页地址的信息,那是在IE里设置的。
和birt没有关系。
---------------------------------
6.
propertyeditortable用法:
properties可以设置整张表的属性,如边距、边框、字体等
binding可对任何报表指定数据集
sorting可以指定报表中数据决定排序顺序的列和排序方向
groups可以添加、删除和编辑分组字段
highlights格式化规则,规则可细分为两部分:
条件部分和应用格式部分。
如条件部分:
成绩小于60分,格式部分就是:
用红色字体标记成绩。
filters可对数据集的数据进行进一步的筛选
---------------------------------
7.
请问如何将生成的.rptdesign文件内容不以文件形式存在,而是存入到数据表中的一个字段
那个字段应该使用blob大字段了。
那个报表文件其实是个xml文件,你看一下xml如何保存为blob字段里吧。
---------------------------------
8.
(1)implements实现接口
publicclassDebugProxyimplementsjava.lang.reflect.InvocationHandler{...}
java.lang.reflect.InvocationHandler为接口的名字
DebugProxy为类名
(2)extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了
比如
classAextendsBimplementsC,D,E
---------------------------------
9.
birtuil详细说明
__report:
指定要显示的报表名称
__title:
定义报表标题
__parameterpage:
是否弹出报表参数对话框
__format:
指定输出报表的格式
__toolbar:
是否显示工具条
__navigationbar:
是否显示导航条
__showtitle:
是否显示标题
__locale:
指定语言
__rtl:
文字显示顺序
__bookmark:
设置书签名字
__page:
指定报表页数
__pagerange:
指定页数范围
__masterpage:
是否显示页脚
__maxrows:
设置数据最大行数
---------------------------------
10.
隐藏与显示报表工具栏,导航栏
webcontent\birt\pages\layout\FramesetFragment.jsp里找到下面这句:
Mask.setBaseElements(newArray(birtToolbar.__instance,navigationBar.__instance,birtReportDocument.__instance));
birtToolbar.__instance报表工具栏,就是上面有打印,导出图片按钮的那行。
navigationBar.__instance导航栏,就是有下一页,多少页什么的。
在里只要newArray去除相应的就行了。
---------------------------------
11.
报表与页面交互功能演示:
现在我们来看查看按钮的制作:
插入文本,选择html,然后输入以下内容:
#F1E1CD;border: 1pxsolid#435425;width: 80px;height: 20px;line-height: 20px;"id=" 注意: " parent.getCarInfo(this),这里当点击按钮时,调用父窗口的getCarInfo方法,把自己传过去。 这个方法是我写在jsp页面里的。 我们来看看getCarInfo方法: carId=o.id; varurl="/report/preview? __report=/report/ahlz/"+ "carinfo.rptdesign&__parameterpage=false&carId="+carId; window.open(url); --------------------------------- 12. 使用birt制作报表,在jsp页面传中文参数到报表里显示会出现乱码情况。 应该把tomcat里编码设置为gbk,如下: connectionTimeout="30000"/> jsp页面的编码方式也设置为gbk 在报表里以动态数据显示的中文字符,应该先编码中ascii码,再使用。 --------------------------------- 13. 在web工程里使用birt 下载birt的示例工程,将示例工程里的webcontent和web-inf下的东西拷到你的工程根目录下。 在jsp页面里访问报表使用url: frameset? __report=reportName¶m=? paramValue 这里,frameset也可使用run,使用frameset支持ajax功能,支持报表的分页等 --------------------------------- 14. birt动态显示列 使用birt默认数据库, sql: select* fromCLASSICMODELS.OFFICES 只使用了officecode,city,phone三个列,将这三个列加到表格里。 添加参数p,设置为列表,可多选。 如下图: 然后在表格的各列选择列,属性,可见性,设置可见性表达式如下: officecode列: varv= params["p"].value; //获得参数 vars; for(vari=0;i s+=v+";"; //加到一个变量里,因为我发现直接在这里判断是不行的。 } if(s.indexOf("officecode")! =-1){ //判断是否含有officecode,如果有就显示,没有就不显示。 false; }else{ true; } --------------------------------- 15. 安讯百灵报表BIRT设计器专业版 对于扩展Eclipse的功能,首先当然就是去下载对应的plugin,BIRT也不能例外。 BIRT的下载地址: http: //download.eclipse.org/birt/downloads/,当前版本是2.0。 BIRT依赖于Eclipse的其它几个plugin(GEF和EMF),由于我使用的是EclipseWTP(这是Eclipse的WEB开发工具),在这个工具中那些plugin都已预装,因此直接下载birt-rep
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BIRT 知识 集锦 基础知识 大全
![提示](https://static.bingdoc.com/images/bang_tan.gif)