在开发中,报表或多或少会涉及到,有些报表可能比较简单,而有些报表可能很复杂。无论如何,这些报表功能的开发都是可以通过一些公共的组件来实现的,比如我现在所在的这家公司,如果想要制作报表,只需要配置下报表配置下就可以了(这个报表是通过特定实现的报表语言实现了,支持内部自定义的语言,最终将这些相应的数据保存到数据库中,对报表中的一些事物进行了抽象,比如:报表模型, 查询参数。)。如果要自己手动的一步一步的编写报表,那么相对会比较麻烦,如果能提供一个框架,只需要进行一些配置就可以完成自定义报表,那岂不很轻松。现在流行的报表框架还是挺多的,由于公司使用的是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)
- 切换到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格式预览,还有很多可以选择
下面是报表预览的结果(更加详细的报表详细,请自行完成,看结果):
这时我们生成的报表已经能显示了,不过不好看,需要对其进行排版,下面就是一些排版啦~~~
接下来的排版请自行完成,排版我就不再说明了