eclipse birt报表开发入门

时间:2015-06-08 21:36:38   收藏:1   阅读:67239

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

1、birt下载和安装

    下载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)

          技术分享           技术分享

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

             技术分享

              技术分享

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

5.填充表格

             技术分享

           技术分享

技术分享

将STATE这行拖拽过去后:

技术分享

  • 鼠标移到表格上面,出现了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格式预览,还有很多可以选择
技术分享

下面是报表预览的结果(更加详细的报表详细,请自行完成,看结果):
技术分享
这时我们生成的报表已经能显示了,不过不好看,需要对其进行排版,下面就是一些排版啦~~~

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


评论(1
zenmshuo 2016-08-18 16:30:45
不知道这个报表和我现在用的ActiveReports报表功能上有什么差别没?
1
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!