eclipse birt报表开发入门

  • Post author:
  • Post category:其他


在开发中,报表或多或少会涉及到,有些报表可能比较简单,而有些报表可能很复杂。无论如何,这些报表功能的开发都是可以通过一些公共的组件来实现的,比如我现在所在的这家公司,如果想要制作报表,只需要配置下报表配置下就可以了(这个报表是通过特定实现的报表语言实现了,支持内部自定义的语言,最终将这些相应的数据保存到数据库中,对报表中的一些事物进行了抽象,比如:报表模型, 查询参数。)。如果要自己手动的一步一步的编写报表,那么相对会比较麻烦,如果能提供一个框架,只需要进行一些配置就可以完成自定义报表,那岂不很轻松。现在流行的报表框架还是挺多的,由于公司使用的是eclipse的birt报表,所有本文只是简单的介绍下birt报表框架的使用。



1、birt下载和安装

本人直接下载全部没有下面一堆的在线安装,和拷贝到eclipse目录等这些方式。

http://www.eclipse.org/birt/documentation/install.php

通过此链接直接下载 如下图

下载birt:

下载地址为:

http://download.eclipse.org/birt/downloads/

,如下图,直接点击“download now”进行下载,建议下载all-in-one版本(这其实也就是一个eclipse,其中包含了birt报表插件)这样就不需要再为eclipse安装birt插件了,这样很省事,也避免在eclipse安装birt插件时出现各种问题,由于博主我是懒人,我的eclipse就是All-in-One版本的。

技术分享

通过birt插件安装,如果不采用eclipse插件在线安装的方式,那么这种方式相对比较麻烦,因为要安装birt插件的那些依赖的插件(不过可以下载集成WPT的eclipse,那么安装的依赖相对就比较少了)。

技术分享

离线安装eclispe插件常见的有2种方式:一是link方式(这种方式相对比较灵活),二是通过拷贝到对应的目录的方式安装。(本文就不介绍离线安装方式了,需要的可以自行百度)本文主要说下在线安装方式:

1.点击Help —>Install New Software

技术分享

2.输入url,进行一些勾选,然后选择下一步

技术分享

上面的那个url可以在这个地址找到

http://wiki.eclipse.org/BIRT_Update_Site_URL

,选择相应版本的url就行,不过只要3.7.x(含)及以上版本的url地址有效,其它地址都没用了。

技术分享

后面还有几步就省略了,都是点击下一步,同意协议什么的,然后等待安装完成再重启eclipse。

能够切换到报表视图就说明安装成功了,至此birt的安装算告一段落了。

技术分享



2.birt开发例子

说明:本文只是对eclispe birt官方提供的例子教程的一个搬运,英文比较好的童鞋可以直接去官网看,地址为:

http://www.eclipse.org/birt/documentation/tutorial/tutorial-2.php

,这个例子做一个birt报表来显示客户(Customers)的信息。后续的birt文章会给出一些较有意义的birt开发例子。

1.首先新建一个Report Project项目,在工作空间右键new->Project->选择”Business Intelligence and Reporting Tools”节点下的”Report Project”->点击【Next】->输入项目名字为:My Project ->点击【Finish】,这时项目已经创建完成了,出现了一个对话框,问你是否打开关联的视图(报表视图),点击【Yes】进入报表视图,出现如下图说明项目已经创建成功了。

技术分享

2.创建报表

右键My Project项目-> new -> Report ,输入文件名为:Customers.rptdesign(rptdesign后缀为birt报表文件),点击“Next” ,然后选择“Grouped Listing”(带有分组工作的列表模板),然后点击“Finish”,切换到报表视图。

技术分享

下面简单的介绍下各个视图(view)的作用:

(1) Palette(调色板) — 这个视图里是一些可用来拖拽到报表的公共组件

(2)Data Explorer(数据资源管理器)-  这个视图用来显示数据源(Data Sources),数据集(Data Sets)和报表参数(report parameters)。你也能使用这个视图添加数据集的列到报表布局。

(3)Resource Explorer(资源管理器) — 在这个视图你能看到所有的报表相关的资源,例如:birt报表文件

(4)Property Editor(属性编辑器) —  这个视图包含一些报表用到的属性,在需要的时候你可以好好的看看它

3.建一个数据源(Data Source)

一个数据源表示获取的数据的来源地,可以是JDBC,ODBC,也可以是XML文件,总的来说来说数据从哪里来。

切换到“Data Explorer”视图,选中“Data Sources”,右键点击它,在右键菜单中点击“New  Data Source”

出现了“New Data Source”对话框,选中“Classic Models Inc. Sample Database”数据库(这个是birt提供的例子数据库),然后输入数据源的名字:Sample,点击下一步,再点击完成,那么一个数据源就创建完成了。

技术分享

技术分享

如果想要对数据源进行修改,那么直接点击相应的数据源即可,上面的例子中,可以双击“Sample”对其进行修改,到目前为止数据源创建完成了。现在我们有了数据源,但是光只有数据源是不行的,它只是用来提供数据的,如果想获得数据,那么还需要创建一个数据集,他用来获取数据信息。

4.创建数据集(Data Set)

  • 切换到Data Explorer视图,右键“Data Sets”,在出现的右键菜单中,选择”New Data Set”,“New Data Set”对话框出现了
  • 选择刚才所创建的“Sample”数据源,选择“Data Set Type”:SQL Select Query,输入”Data Set Name”:Customer

技术分享

  • 点击下一步
  • 输入查询语句:select  *

    from

    customers

    where

    country = ‘USA‘
  • 点击完成

技术分享

点击“完成”后,会出现数据集编辑对话框,这个对话框提供了如下的页面:

  • Data Source —  显示数据集用到的数据源,你也可以改变它

技术分享

  • Query — 可以用来查看和编辑查询语句,你可以在”Available Items”里查看数据库和表

技术分享

  • Output Columns — 显示在查询语句里的列,你能为这个列起别名。
  • Computed  Columns — 经过计算而得到的列,跟其他列类型
  • Parameters — 这些参数能包含在查询语句中,根据条件来进行过滤
  • Filters — 对查询结果进行过滤
  • Preview Results — 通过前面的查询语句所查询到结果的预览

现在有了数据集,接下来需要将数据显示到表格中

5.填充表格

  • 打开“Data Explorer”视图,选择“Data Sets”节点下面的“Customer”节点下面的“CUSTOMERNAME”,然后将其拖拽到表格中带有灰色字体“Detail Row”的第二列(也就是第三行第二列)

技术分享

  • 拖拽过去后,如下图:

技术分享

  • 创建State组(我们想要将相同State的客户放到一起,就需要根据State进行排序)

    • 定位到表格中的Group Header Row(用灰色字体标识)那一行(也就是第二行),
    • 将STATE拖拽到表格中Group Header Row的第一行的第一列(第二行第一列)

技术分享

将STATE这行拖拽过去后:

技术分享

  • 手动创建CITY组
  • 鼠标移到表格上面,出现了Table悬浮框,然后点击这个悬浮框,全选整个表格

技术分享

出现了如下的图形:

技术分享

  • 切换到属性编辑器(Property Editor)视图,然后切换到“Binding”标签栏

技术分享

  • 然后点击“Add”按钮,出现了“New Date Binding”对话框,输入Column Binding Name:CITY,Display Name:CITY,点击Expression列最后的“fx”按钮,BIRT Expression Builder对话框出现了

技术分享

  • 在Expression Builder对话框中,在Category那儿选择“Available Data Sets”,在Sub-Category那儿选中“Customer”,在“Double Click to insert”那儿双击“CITY”那一列,然后点击“OK”

技术分享

  • 回到“New Data Binding”对话框,然后点击“OK”

技术分享

  • 使表格处于全选状态,然后右键点击“STATE”头上面的灰色悬浮单元格,在出现的右键菜单中,Insert Group –>   Below,出现了New Group 对话框

技术分享

  • 在“New Group”对话框中,输入Name:CITY,在Group On中选择CITY,最后点击“OK”

技术分享

  • 为表格添加一列,全选表格,在“STATE”头的上面的灰色单元格中右键,出现了右键菜单,选择Insert –>  Column to the right(相当于在表格中插入了第二列)

技术分享

  • 将CITY数据元素(在第一列的第二组的组头)移动到第二列的第二组的组头(也就是移动到第三行第二列)

技术分享

拖过去就成了这个样子了:
技术分享

  • 创建或修改表头(我们可能需要对表头进行一些调整)

    • 双击第一列的表头,将其修改为:State

技术分享

  • 在Palette视图中拖拽一个Label到表格的第二行的表头,并输入City

技术分享

  • 双击第三列的表头“CUSTOMERNAME”,修改为“Name”
  • 增加最后一个表头“PHONE”,在Data Explorer视图中将Date Sets — > Customer –> PHONE拖拽到第四行的最后一列,然后双击它,将其修改为“Phone”

技术分享

  • 修改完成后是这样子的:

技术分享

  • 最后点击保存按钮将文件进行保存。

6.预览你的报表

  • 你可以通过报表设计器的Preview标签栏去预览你设计的报表,然后我这儿并没有找个标签栏(具体是什么原因我这儿也不去深究),我换另一种方式去预览报表

技术分享

  • 通过工具栏的View Report来预览报表,点击这个会出现一个列表选项,你可以选择一html格式预览,PDF格式预览,还有很多可以选择

技术分享

下面是报表预览的结果(更加详细的报表详细,请自行完成,看结果):

技术分享

这时我们生成的报表已经能显示了,不过不好看,需要对其进行排版,下面就是一些排版啦~~~

接下来的排版请自行完成,排版我就不再说明了