
BIRT是一个Eclipse-based开放源代码报表系统。它主要是用在基于Java与J2EE的Web应用程序上。BIRT主要由两部分组成:一个是基于Eclipse的报表设计和一个可以加到你应用服务的运行期组件。BIRT同时也提供一个图形报表制作引擎。http://www.eclipse.org/birt/
一、创建第一个报表项目。
1.1创建一个项目
选择 File->New->Project 。 新项目(new project )对话出现。
打开" Business Intelligence and Reporting Tools”组,并选择"report project"。
1.2创建一个报表
选择File->New->Report 。 新建报表(new report )对话出现。
在Tree View中选择我们之前创建的项目。
接下来在文件名字段输入: Customers.rptdesign
点击 next。
选择Grouped Listing.(分组列表)。
点击 Finish。
注:新建报表对话框显示了一些现成的模板模板。
My First Report(我的第一份报表)
空白报表- 创建一个无预定义内容的空白报表。
简易列表- 使用数据源中的字段创建列表报表。
分组列表- 创建一个根据某些字段分组的列表报表。 分组列表不会显示重复的记录。 并且分组允许您创建一个子统计。
双列列表- 创建带两个子组的分组报表。
图表和类标- 创建分组报表,并附带直观表示每个组数据的图表。
双列图表和列表- 创建带两个“图表和列表”子组的分组报表
并排图表和列表- 创建一个分组报表, 其中,每个组都并排包含一个图表和一个列表
信件- A form letter in which database data is "mail-merged" into the text. The letter text can be formatted using a subset of HTML.
二、BIRT的开发界面
Cheat Sheets:在您的Eclipse工作区右边(这是默认配置)有一个Cheat Sheets View。"这个 View 会根据您所选择的模板引导你如何构建报表。
布局编辑器(Layout Editor):中心地区是布局编辑器。
调色板(Palette):显示标准的报表可视控件,您能够通过拖曳的方式添加到你的报表上。
概述(Outline):使用tree view的形式显示您的报表结构。
导航(Navigator): Eclipse将显示你的项目和项目内的报表文件。
数据资源管理器 :BIRT View 显示您的数据源(连接), 数据集 (queries) 和报表参量。 您也可以使用这个View增加数据集字段到您的报表布局(report layout)。
属性编辑器: 显示报表项目所需的properties。 它拥有标签和分组,用分类的形式来组织properties。
PropertiesView:显示和报表相关Properties ,这个view是可选的,我们在这个指南里面不会用到它。
三、建立数据源
BIRT 报表使用一个数据源连接到数据库或其它数据提供者。 BIRT 使用一个数据集从数据提供者处的检索数据。 可以将数据源理解为连接, 数据集作为query。
3.1建立数据源
让我们建立一个数据源:
打开Data explorer(数据资源管理器)。
选择Data Source(数据源)节点。
用鼠标右键单击打开d出菜单。
选择新建数据源。 新建数据源对话出现。
选择 Classic Models Inc. 示例数据库
在数据源名称输入框, 输入"Sample" 。
点击 next。
点击 Finish。
3.2建立数据集
现在我们准备好建立和测试我们的数据集。
打开数据资源管理器
选择数据集节点。
用鼠标右键单击打开d出菜单。
选择新建数据集。 新建数据集对话将出现。
“在数据集名称”输入框,输入"Customers"。
确保数据源下拉框显示的是我们之前创建的 Sample 数据源。
确保数据集类型下拉框选中的是"SQL Select Query" 。
点击Finish。
四、构建Table
我们的customer listing report 将以“表”的形式显示客户信息: 类似HTML Table, 附加了能够循环显示报表数据的能力。 我们选择的Grouped Listing 模板预先为我们构建了一个“表”, 我们只需要再填装一些细节。 在开发报表之前, 让我们介绍一下BIRT 的报表项。
BIRT 提供各种各样的报表项用于构建我们的报表。 报表项出现在Palette view。 报表项有:
•标签- 插入一个静态的文本。
•文本- 插入文本块(纯文本或HTML格式)和计算列值。 常用来创建标题, 信格式, "邮件合并" 等。
•动态文本- 插入带有可选 CLOB 数据表达式的文本块。 支持通过表达式对 advanced CLOB 数据进行 *** 作。
•数据- 插入数据集列或表达式结果。
•图象- 任何由浏览器支持的图象。 图象可能被内嵌在一个报表文件中, 或链接到你的网络服务器上的一个文件。
•网格- 提供报表项的表格布局, 很象HTML Table。
•列表- 在页眉、详细信息、页脚区段中插入数据集行的灵活格式表示。
•表- 以Table的形式呈现数据集中的数据。
•图表- 显示商业图表,如饼图、折线图, 等。
4.1在数据集选择中往table里面拖动数据。点击preview测试,或者选择view as html等方式。
4.2重设表-页眉(Table Columns )尺寸,在property edit view
4.3设置背景颜色,在property edit view
4.4设置字体,在property edit view
4.5格式化数据,字符串格式化。选择要格式的字符串,切换到“属性编辑器”的“字符串格式”选项。 选择“字符串格式”为“自定义”。在格式代码输入框中, 出现以下格式: (@@@) @@@-@@@@
4.6设置边框
4.7设置明细数据排序
4.8创造样式、应用样式、编辑样式
4.9创建一个网格
4.10插入一张图片
4.11插入运行期日期
4.12创建一个文本项
二、birt简单应用
1.去掉首页上的标题BIRT Report Viewer
找到birt\webcontent\birt\pages\layout\FramesetFragment.jsp文件在里面定义了标题
2.通过Script方式,可以实现简单的分页和行交替颜色
首先加一个表格,选中表格中的明细行,切换到Script标签页。
在onRender事件中加入以下代码 var count=1
在onCreate事件中写入
++count
if (count % 10 == 0) {
style.pageBreakAfter = "always"
}
if (count % 2 != 0) {
style.setBackgroundColor("silver")
}
即可实现每页10条记录和交替颜色功能。(这方法不行)
3.统计功能
在属性编辑器中,选中“绑定”选项然后添加聚集,即可对某一列的进行函数统计。拖动动态文本到界面上。
4.公用数据源及样式
首先新建一个library,然后在打开这个library。在outline视图中可以填加数据源,完成后打开要添加的rptdesign转到resources视图右键选中添加的视图选项。其他公用资源也可这样 *** 作。对于要添加表格线及其他一些样式的时候,可以先进行添加一个样式,然后添加到一个rptdesign的样式里面,就可以对你想要的内容进行应用样式选项了。一个小问题,表格的表格头默认情况是粗体的,选中表格头在property edit视图中点击 两次粗体选项即可。
5.参数的使用
在报表设计阶段,在数据源设置可变的参数条件sql语句中还是使用?进行匹配。然后选中parameters即可进行参数的绑定。如果sql语句是需要通过web页面端的参数进行改变的,首先是在数据集sql语句中写入一个不带任何的sql,然后选中该数据集,在主面板中选中script,在script选项中选择beforeOpen然后使用var pvalues = params[“pname”]
this.queryText += “newquery”
在web应用阶段,对报表的传递参数可以采用以下几种方式:
1.利用birt自带的标签库传递参数
2.采用url的方式传递参数
3.采用birt engine api写自己的servrlet,然后传递参数即可。
6.国际化问题
首先在报表设计阶段,点击空白处然后在property edit视图找到resources属性填上资源文件的名称。这样就关联了birt的资源文件,如果要对某个地方的文本进行国际可以选中文本然后在property edit中找到localzation即可进行国际化。
资源文件要与设计文件放在同一层目录,如果想要修改资源文件的路径。可以在进行birtengine初始化阶段进行如下设置:
EngineConfig config = new EngineConfig()
config.setResourcePath(sc.getRealPath("/WEB-INF/classes"))
7. 修改webcontent存放路径
在web应用情况下,修改webcontent存放路径问题,可以对viewservlets.jar中的ViewerServlet类修改以下两行即可:
this.viewer.setJSPRootPath("/webcontent/birt")
this.run.setJSPRootPath("/webcontent/birt")
8.web应用下对报表进行访问的方式
frameset,以frameset的形式显示报表。这个界面包含一些frame,如页面导航,报表主体在其中的一个frame中显示;使用形式:
http://localhost:8080/birtApp/frameset?__report=报表文件路径&参数=........
run,报表以一个单独的html页面或pdf显示,由于这种形式没有frmaeset,因此使用者必须自己提供相应的参数,如报表参数,页号等。使用形式:
http://localhost:8080/birtApp/run?__report=报表文件路径&参数=........
对于以上2个动作,以下列出可用的参数:
__format:报表输出格式:html或pdf,缺省是html。对于frameset不起作用。
__isnull:指明一个参数是null,常用于字符串类型。如果提供参数且值为空: - 对于日期和数字类型,BIRT会将它们当作null处理。 - 对于字符串,BIRT会将它作为空字符串。因此,为了说明某个字符串是null,通常写为:__isnull=参数。
__locale:本地化选项,缺省是jvm的locale。
__report:报表设计文件路径。
报表参数:报表参数参数值对,形式:参数名=参数值。对于frameset,直接在地址栏中输入参数名=参数值后回车,不会影响报表结果。虽然,此时选择"运行报表"时,d出的参数值已经改变。
1. BIRT 概述BIRT是一个Eclipse-based开放源代码报表系统。它主要是用在基于Java与J2EE的Web应用程序上。BIRT主要由两部分组成:一个是基于Eclipse的报表设计和一个可以加到你应用服务的运行期组件。BIRT同时也提供一个图形报表制作引擎。
使用BIRT,能制作出多样化的报表到你的应用中。比如:列表 lists ,图表 charts,混合报表 Compound Reports,交叉表(二维表)Crosstabs(二维报表目前在BIRT 2.1.1 还未实现,但在以后的版本中将会实现此功能)。
2. BIRT的安装
2.1>birt的安装
Eclipse 3.1 支持 BIRT 2.0
Eclipse 3.2 支持 BIRT 2.1
目前我使用的版本是BIRT 2.1.1,BIRT的安装有很多的方法。
方法一:
到Eclipse的官方网站[download.eclipse.org]去下载 BIRT 插件(birt-report-designer-all-in-one-2_1_1),解压后,它就是一个拥有 BIRT插件的Eclipse。如果你已经安装了Eclipse,那么把下载的文件夹的内容拷到所对应的 Eclipse 的文件夹里(plugins和features两个目录),之后的第一次启动是通过DOS进入到Eclipse目录,启动 Eclipse -clean 命令,此命令是清除 Eclipse 缓存里的记录并启动Eclipse。这也是最简单的安装BIRT方法。
方法二:
BIRT 2.1开始,可以在 Eclipse 里直接下载。[帮助]à[软件更新]à[查找并安装]
方法三:
如果你的 Eclipse 已经安装或者不想使用方法一安装,可以进行分别安装的方法。EMF, GEF 和 BIRT 都是需要通过 Eclipse download page下载的。请注意以下的配置要求:
BIRT 2.0.2
Eclipse 3.1
GEF 3.1.
EMF 2.1.
JRE 1.4.2/JRE 1.5.
BIRT 2.1/2.1.1
Eclipse 3.2.
GEF 3.2.
EMF 2.2.
JRE 1.4.2/JRE 1.5.
BIRT 2.2M4 and higher
Eclipse 3.3.
GEF 3.3.
EMF 2.3.
JRE 1.5.
GEF:图形编辑框架,是一个通过 BIRT UI 使用的Eclipse 插件
EMF:用来制作图表的框架
具体的安装和配置请参考 Eclipse官方网站 这里我还推荐一个BIRT 2.0.1的安装视频 希望对大家有所帮助。
注意:iTextAsian.jar 是为了支持用PDF输出时亚洲人的字体。prototype.js 是安装 BIRT 2.0.2 或者更早的版本使用的,目前版本不需要了。
提示:我个人使用的是方法一,首先安装比较方便,其次如果使用方法二,在Eclipse [帮助]à[帮助内容] 里没有关于 BIRT 的帮助文档,这样对学习不是很方便。
2.2 birt版本升级
1.删除在 plugins 目录下的所有以 org.eclipse.birt 开头的文件。
2.按照上面的方法一进行安装。
3.重新启动 Eclipse -clean
2.3 语言包安装
目前 BIRT的2.1.1 已经有中文语言包。下载完毕以后把对应的目录 copy 到对应的 Eclipse 目录下,然后 Eclipse -clean 启动。
3. BIRT应用
在这里我提供了一个 “BIRT中文教程”,在Eclipse官方网站也有它的演示视频,Customers.rptdesign 是做好的报表。
JDBC Drivers
以上例子介绍的是使用“示例数据库”的数据源,在大多数情况下我们使用的是自己的JDBC driver,下面介绍连接 Oracle 数据库。
打开 Eclipse 后进入 [窗口]à[打开透视图]à[报表设计],新建项目 [文件]à[新建]à[项目],选择“业务智能和报表工具”à“报表项目”,起项目名。新建的项目上,右键 新建报表,给报表起名字,报表的后缀名是 .rptdesign
[数据源]à[新建数据源],选择“JDBC数据源”(别忘了给数据源起名字),“管理驱动程序”à“添加”,把所需要的数据库 jar 包添加进来。选择oracle.jdbc.driver.OracleDriver ( v1.0),写上正确的数据库 URL,用户名,密码,点击“测试连接”,显示 连接成功。
报表的种类有很多,具体的制作过程参考[帮助]à[帮助内容]
提示:交叉表即二维报表在目前BIRT 2.1.1 还未实现,但在以后的版本中正在计划实现此功能。
4. BIRT部署
BIRT 2.1.1所对应使用的部署工具是birt-runtime-2_1_1,可以到 Eclipse 官方网站下载。
4.1. tomcat 部署
我使用的版本是 tomcat 5.5,步骤如下:
1) mail.jar activation.jar拷到Tomcat 5.5\common\lib
2) iTextAsian.jar itext-1.3.jar拷到
WebViewerExample\WEB-INF\platform\plugins\com.lowagie.itext\lib
3) 连接数据库的包拷到
WebViewerExample\WEB-INF\platform\plugins\org.eclipse.birt.report.data.oda.jdbc_2.1.1.v20060922-1058\drivers
4) WebViewerExample整个目录copy 到 Tomcat 5.5\webapps下,可以更改文件夹名。
5) 完成的报表可以直接复制到根目录下,也可以新建文件夹目录。
现在BIRT支持两种浏览报表模式,frameset是支持显示分页的,采用Ajax技术。run暂不支持显示分页,直接输出HTML流。比较一下它们的区别,如下:
http://localhost:8080/WebViewerExample/frameset?__report=Customers.rptdesign
http://localhost:8080/WebViewerExample/run?__report=Customers.rptdesign
注意:
a) 问号后面的是双下划线
b) 以上报表是放在根目录下,如果是放在自己新建的目录比如 myreport 下URL应是:
http://localhost:8080/WebViewerExample/run?__report=myreport/Customers.rptdesign
4.2. Weblogic Server 部署
我使用的版本是 Weblogic Server 9.2,它是 BEA WebLogic 产品的一部分。BEA WebLogic Server 是一个功能丰富、基于标准的现成的企业 J2EE应用服务器。
Weblogic Server 有很多的域组成,medrec 和 wl_server 是其中自带的域,也可以自己创建新的域。域中可以包含许多服务器,在服务器中可以部署许多的应用程序。域有一个默认的服务器,它是管理服务器。每个域中的管理服务器是唯一的,其他创建的服务器叫受管服务器。
Weblogic Server 的安装就不多做介绍了,主要介绍它的配置和部署。下面介绍一下新建域和部署的步骤:
1) 运行开始 ->程序 ->BEA Products ->Tools ->Configuration Wizard
2) 选择 Create a new WebLogic domain,Next。
3) 在 Select Domain Source 界面保持默认,Next。
4) 在 User name 处输入用户名,如 user,password 输入密码,如12345678(密码要求 8 位),Next。
5) 在 Configure Server Start Mode and JDK 界面中保持默认,即 JDK 选择的是“Sun SDK 1.5.0_04 @ C:\BEA\jdk150_04”,注意这里若选择“Other JDK”配置比 SDK 1.5.0_04 更高的版本,服务器启动时将会出现异常,所以最好保持默认,然后 Next。
6) 在 Customize Environment and Services Settings 界面中默认为 No,Next。
7) 在 Domain name 处输入 mydomain,点击 Create。
8) 完成后点击 Done 关闭 Configuration Wizard 对话框。
9) 运行开始 ->程序 ->BEA Products ->User Projects ->mydomain ->Start Admin Server for Weblogic Server Domain,启动创建域的服务器。如果最后显示 <Server started in RUNNING mode>则说明服务器启动成功。
10) 在地址栏输入 http://localhost:7001/console 进入管理控制台,输入刚才的用户名和密码。点击 更改中心 的[锁定并编辑],域结构 中的[部署],点击[安装]。找到你要部署的应用程序,之后都为默认,最后点完成。在更改页面上点击[保存],完成所需的更改后,单击 更改中心 中的[激活更改]。注意:只有点击了[激活更改]后才真正保存了更改。某些在管理控制台中所做的更改在激活后立即生效。有些更改需要重新启动此更改影响到的服务器或模块。后面的这些更改称为非动态更改。非动态更改在管理控制台中由此警告图标表示: 如果对非动态配置设置进行了编辑,则只有在重新启动服务器之后,所有对动态配置设置所进行的编辑才会生效。
11) 点击 域结构 中的[部署],启动刚才部署的应用程序。
12) 在地址栏中输入 http://localhost:7001/部署程序名在web中显示应用程序。
BIRT的部署方法基本和上面步骤相同,注意一点,在部署前将
commons-logging.jar 拷入 WebViewerExample 中的 lib 包中,否则最后显示会报错。
Weblogic Server 的部署方法有很多,weblogic.Deployer、管理控制台、WLST 等等。刚才介绍的管理控制台的部署,它是一个可视化的界面,用起来比较方便。
推荐:在这里推荐使用一种应用程序的目录管理方法,新建目录结构如下:
C:myApplication
app
plan
将你的应用程序放入此目录
部署完后将会再此目录下自动产生plan.xml文件
用此目录有利于很好的管理配置文件。
关于 Weblogic 的更多详细资料,我这里推荐几个比较好的官方学习网站:
www.bea.com.cn bea的产品网站
edocs.bea.com.cnbea的比较系统的学习网站
dev2dev.bea.com.cn 一般介绍bea的最新技术,动态等的网站
4.3. web外观显示
部署好的报表页面显示样式是固定的,在多数情况下我们都希望修改外观,下面将对此做简单介绍。
Webcontent是主要文件夹:
1) Webcontent中的ajax目录,完成了在web上显示的报表分页的功能。
2) Styles目录中的style.css是整个报表在web上显示的外观,包括工具条颜色,字体。文件注释很清楚,具体修改可以参见注释。
3) pages目录pages/control/ NavigationbarFragment.jsp 分页那一条工具栏的 JSP pages/control/ ToolbarFragment.jsp 工具按纽JSP,可以修改以保留自己想要使用的功能按纽。pages/control/ ProgressBarFragment.jsp 它是显示刚开始读取报表时,显示条的样式。
4) Layout目录 FramesetFragment.jsp 可以修改报表标题。
在 WEB-INF/web.xml文件中,BIRT_VIEW_REPORT_ROOT 是配置报表路径的属性,如果没有配置则是默认路径:$tomcat$\webapps\birt
目前在web上显示的所有的都是英文。项目有一个资源文件,打包在lib/viewservlets.jar中,…/…/resource/messages.properties文件中。显示中文的解决方法是,用unicode转换器把要显示的中文事先转换好,然后替换资源文件中的英文。
5. BIRT总结
BIRT是目前比较常用也是比较方便,效率较高的报表制作工具。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)