birt动态分组报表制作.docx
- 文档编号:9027886
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:21
- 大小:1.12MB
birt动态分组报表制作.docx
《birt动态分组报表制作.docx》由会员分享,可在线阅读,更多相关《birt动态分组报表制作.docx(21页珍藏版)》请在冰豆网上搜索。
birt动态分组报表制作
1BIRT报表开发环境准备
1.1BIRT报表开发准备
(1)、Ecplise:
这里我使用的是EclipsePlatformVersion:
3.6.2。
(2)、BIRT插件:
可以通过Ecplise中的InstallNewSoftware添加Birt插件。
插件地址:
http:
//download.eclipse.org//birt/update-site/2.6/
(3)、Tomcat:
这里我使用的是apache-tomcat-6.0.16
1.2建立WebProject
(1)、新建WebProject
为了体现BIRT与实际应用项目相结合的特点,首先建立一个WebProject,工程命名为myReport。
然后单击“Next”,出现下图:
在ProjectName中输入“myReport”,工程构建后的class文件输入目录为WebContent/WEB-INF/classes下。
如下图:
然后单击“Next”,出现下图,这里我将“Generateweb.xmlDeploymentdescriptor”选项勾选上,让Ecplise来创建web.xml。
然后单击“Finish”,这样“myReport”工程就建立成功了。
1.3配置交叉报表数据源
1.3.1建立公共资源的文件夹
右击“myReport”工程,选择“New”------“Folder”,弹出下图所示对话框。
在Foldername录入项中输入db,然后点击“Finish”。
公共资源文件夹就建立完成了。
1.3.2建立公共资源Library
右击“db”公共资源文件夹,选择“New”----“Library”,出现下图的弹出窗口,如下:
在“Filename”输入项中输入dataSource_library.rptlibrary。
然后单击“Finish”。
然后打开“DataExplorer”,如下图:
右击“DataSource”,在弹出的下拉列表选择项中选择“NewDataSource”,如下图:
报表的数据来源于Oracle,但是从弹出的对话框不存在Oracle的连接驱动。
我们可以通过手动添加驱动包的形式。
点击“ManageDrivers”,在弹出的对话框中,单击“Add”按钮,我选择的是oracle数据库自带的驱动jar包,如下图:
然后,将oracle数据库的URL,用户名,密码。
输入相应的信息框中。
可以点击“TestConnection”来测试数据库是否连接正确。
如下图:
2动态分组交叉报表
2.1建立报表文件夹
我在myReport工程下的WebContent文件夹下建立了一个用于存放报表文件的文件夹reports。
2.2建立报表文件
右击“myReport”工程,选择“New”-----“Report”,出现下图对话框,
然后单击“Next”。
在Filename信息框中输入报表文件名称tends_group.rptdesign,然后单击“Next”,会出现一个关于报表类型选择的对话框,这里我采用的是默认选项,然后单击“Finish”。
2.3复用报表数据源
对该报表使用先前建立的公共数据源,首先打开ResourceExplorer窗口,如果当前Ecplise中未出现ResourceExplorer窗口,可以通过以下方法打开。
如下图
打开报表tends_group.rptdesign,将报表模式切换到“Layout”状态下,将dataSource_library中的数据源“DataSource”拖曳到tends_group中的“DataSource”中,即可完成报表的数据源复用。
2.4配置交叉报表结果集
在报表“tends_group.rptdesign”的“Layout”模式下,打开“DataExplorer”窗口,右击“DataSets”,选择“New”-----“NewDataSet”。
会出现下图对话框:
这里会要求输入DataSetName的名字,我采用的是默认“DataSet”。
然后单击“Next”,会出现下图的内容,其中在“QueryText”文本区域中,录入了SQL语句
SQL语句:
SELECTZB,CBZX,YYLY,DL,ZY,SUM(YZ)ASYZ,SUM(JZ)ASJZ,SUM(LJZJ)ASLJZJ,SUM(JZZB)ASJZZB,SUM(KPSL)ASKPSLFROMDWDINFOGROUPBYZB,CBZX,YYLY,DL,ZY。
如下图:
然后点击“Finish”。
会弹出下面的对话框,
可以查看刚才输入的SQL,所产生的输出效果。
然后点击“OK”,关闭窗口。
2.5配置交叉报表分组字段
2.5.1新建DataCuber
在报表的“DataExplorer”窗口中,右击“DataCuber”,选择“NewDataCuber”,出现下图内容:
这里的“DataSet”采用的是默认“DataSet”。
2.5.2新建Groups
右击“Groups”,选择“EditGroup”,出现下图:
可以直接以拖曳的形式将分组字段拖到右边的Groups信息项下。
最终窗口中的内容如下:
2.6配置交叉报表求和字段
继续2.5中的步骤,将求和字段拖曳到右边的SummaryFields信息项下。
最终窗口中的内容如下:
然后点击“OK”,这样交叉报表前期结果集信息就配置完成了。
2.7交叉报表表样制作
2.7.1新建CrossTab
在报表tends_group的“layout”模式下,在空白区域,右击“Insert”------“CrossTab”,如下图:
在报表中会产生以下内容:
2.7.2完成报表表样制作
(1)将Groups字段拖曳到Dropdatafield(s)todefinerowshere区域中,最终报表表样如下:
(2)将SummaryFields字段拖曳到Dropdatafield(s)tobesummarizedhere区域中,最终报表表样如下:
(3)制作报表表头
在最左上方的单元格中右击“Insert”---“Grid”,建立一个5列1行的Grid表。
并在每个Gird单元格中插入Label,修改Label的内容,最终报表表样如下:
2.7.3预览交叉报表
点击tends_group报表的“Preview”模式预览报表展示效果,如下图:
2.8报表分页实现
(1)报表分页的实现
报表分页的解决方案是通过使用JAVA程序来动态修改报表文件的源码的SQL语句,来最终实现报表的分页。
(2)关于JAVA的具体实现,这里就不在介绍,请参阅ServiceManagerImpl.java
2.9动态分组实现
(1)请参阅GroupServiceImplBack.java
3部署交叉报表
(1)部署交叉报表
关于部署交叉报表,我是采用的手动部署的形式。
首先将工程下的文件夹“WebContent”,复制到tomcat下的webapps中。
然后将WebContent文件夹的名称修改为myReport。
4运行交叉报表
(1)启动tomcat
由于我的报表tomcat运行环境是单独一个非安装tomcat环境,所以启动时,我选择运行“startup.bat”,目地是防止启动本机安装的tomcat环境。
并且我将tomcat的启动端口修改为了7777。
下图就是tomcat正常启动后的内容。
可能具体的启动所用时间有所不同。
(2)浏览交叉报表
在IE地址栏中输入:
http:
//localhost:
7777/myReport,出现下图内容
然后单击“动态分组查询分页”,就能看到如下效果。
以上就是动态分组交叉报表的制作过程。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- birt 动态 分组 报表 制作