JasperReports+iReport报表开发详解

JasperReports+iReport报表开发详解"

作者:高洪岩
ISBN:9787302317586
定价:¥49
字数:千字
页数:
出版时间:2013.06.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

本书主要讲解Java技术领域著名的开源报表框架JasperReports和iReport软件的使用,重点介绍如何使用iReport报表模板进行报表的开发。

全书共8章:初识JasperReports(介绍如何使用iReport软件搭建报表开发环境);控件(讲解控件的使用,并伴有针对性的示例);Fields、Parameters、Variables对象及Group分组(熟练使用动态数据对象是开发报表的前提);字体Font、样式Style及模板Templates(使读者掌握报表的外观设计);子报表Subreport(讲解子报表Subreport技术);图表Chart(把常用的饼状图、柱状图和曲线图进行细化讲解,并以JDBC、JavaBean为数据源进行图表的展示);数据集Dataset、List控件及Table控件(简化报表开发,从而设计出复杂结构的报表);实用技巧(讲解必备的开发常用技巧)。

从iReport的使用出发,一步步带领读者学习设计报表的每一个环节,它们是作者多年开发经验的总结,也融入了丰富的授课经验。阅读本书之前,建议读者具有较好的Java编程基础,或具有JSP、Servlet基础。

前言

前  言

报表,是开发一个软件项目时不可或缺的模块。

回首笔者使用Delphi开发C/S系统时使用到的FastReport报表框架,印象非常深刻,使用它进行报表设计非常简单、快乐,它的使用就像Delphi一样,用控件就可以开发出漂亮的报表,但由于自己的技术转向Java方向,所以再一次不可避免地又涉及到了报表技术,可喜的是我发现了JasperReports和iReport,利用它们同样能够快速开发出漂亮的报表。

当你在各大搜索引擎或论坛寻找JasperReports和iReport的资料时就会发现,资料全是零七八碎的,没有一个系统性的介绍,现存的仅仅是代码的片段,以及不知某个对象为什么如此应用但步骤却是固定的Demo,想要灵活、自由地扩展报表功能是一件非常头痛的事情,在国内的技术书籍中,还未有一本专门讲解此技术的书籍,针对以上种种情况,笔者认为市面上应该有这样一本书用于讲解如何使用Java开发报表,所以笔者就把自己工作、学习的经验斗胆整理成稿,来和大家一起交流学习JasperReports和iReport报表的开发。

报表的设计非常复杂,它不仅涉及行业背景,还存在与技术的整合性,也就是说报表并没有一个完整的样式定义,一切均取决于业务需要,所以笔者在这本书中并不能完全覆盖读者欲开发报表的知识,但相信读者在认真阅读本书的内容后,肯定会找到一个解决方案。

在学习JasperReports和iReport时,笔者建议一定要把控件的属性,如Field、Parameters和Variables掌握好,因为这些是生成报表的必备技术点,想要在万变的报表设计中找到一个优秀的解决方案,它们是必须掌握的。一步一步地踏实练习,一定会有好的收获。

最后感谢身边默默支持我的同事以及家人,没有他们的帮助与支持也就没有此书的成稿,感谢他们!

编 者

2013.3

目录

目    录

第1章  初识JasperReports 1

1.1  JasperReports的基础知识 1

1.2  第1个JasperReports打印示例——中文静态文本 2

1.2.1  创建模板文件 2

1.2.2  在Web项目中以PDF文件显示出来 8

1.2.3  利用程序将.jrxml导出为.jasper文件并用PDF显示 13

1.3  填充报表数据——使用Map参数 15

1.3.1  新建报表模板文件 15

1.3.2  创建传递参数的Servlet对象 17

1.3.3  显示效果 19

1.3.4  打印List中Userinfo.java实体类示例 20

1.4  填充报表数据——使用JDBC向导作为数据源 23

1.4.1  新建报表JDBC数据源 23

1.4.2  新建报表模板文件 24

1.4.3  设计报表 26

1.5  使用向导分组显示数据 29

1.6  在iReport中使用表达式Expression 32

1.7  将报表导出为PDF文件 34

1.8  报表的常用属性 38

1.8.1  分栏分列的效果 39

1.8.2  Title和Summary在单独的页面打印 41

1.8.3  多列横向与纵向排序打印效果 42

1.8.4  Summary with Page Header and Footer属性 43

1.8.5  Float column footer属性 45

1.8.6  When No Data属性 47

1.9  各个Band存在数据时的打印效果 50

第2章  控  件 54

2.1  控件的常用知识 54

2.2  控件的对齐 57

2.3  控件的常用属性 64

2.3.1  Forecolor、Backcolor、Opaque属性 64

2.3.2  Blank When Null属性 65

2.3.3  Position Type属性 67

2.3.4  Stretch Type属性 74

2.3.5  Print Repeated Values属性 81

2.3.6  Remove line when blank属性 83

2.3.7  Print In First Whole Band属性 84

2.3.8  Print When Detail Overflows属性 86

2.4  控件的使用方法 88

2.4.1  形状控件 88

2.4.2  Image控件 89

2.4.3  Image控件 97

2.4.4  文本控件 106

第3章  Fields、Parameters、Variables对象及Group分组 109

3.1  Fields对象的使用 109

3.1.1  使用Text Field控件显示数据表字段值 110

3.1.2  使用Fields结合JDBC的Connection对象显示值 112

3.1.3  使用Fields对象显示Java集合中实体类的属性值 113

3.2  Parameters对象的使用 115

3.2.1  使用Parameters动态生成userid值 116

3.2.2  使用Parameters动态生成Date区间的测试 118

3.2.3  使用Parameters动态生成where语句 121

3.2.4  使用Parameters对象实现SQL的IN及NOTIN查询 123

3.3  Variables对象的使用 125

3.3.1  Calculation属性 127

3.3.2  Evaluation Time属性 132

3.3.3  Increment type属性 137

3.4  Group分组的使用 144

3.4.1  Group分组的使用方法 144

3.4.2  Group分组的常用属性 149

3.4.3  Group分组中的Print When Group Changes属性 154

3.4.4  Group分组中的Reset type属性 157

3.5  常用小实验 163

3.5.1  实验1 163

3.5.2  实验2 165

3.5.3  实验3 167

3.5.4  实验4 172

3.5.5  实验5 173

3.5.6  实验6 174

3.5.7  实验7 175

3.5.8  实验8 176

第4章  字体Font、样式Style 及模板Templates 179

4.1  字体Font 179

4.1.1  使用自带字体 180

4.1.2  使用第三方字体 181

4.2  样式Style 186

4.2.1  创建样式Style 186

4.2.2  创建条件样式Conditional Style 188

4.2.3  创建通用样式Style 191

4.3  模板Templates 194

第5章  子报表Subreport 197

5.1  子报表Subreport的基础知识 197

5.1.1  子报表Subreport的.jasper文件来源 198

5.1.2  子报表Subreport的示例——静态文本 199

5.1.3  子报表Subreport的示例——动态数据JDBC 207

5.1.4  子报表Subreport的示例——打印实体类中的List<Userinfo> 216

5.2  子报表Subreport的参数传递 221

5.2.1  从Servlet传递一个Map类型的参数到子报表 221

5.2.2  对表达式进行计算后再传入子报表 225

5.2.3  对子报表传递List<Userinfo>数据源 226

5.2.4  示例:从主报表中取得子报表返回的参数值 230

第6章  图表Chart 238

6.1  图表Chart的使用——饼状图 238

6.1.1  新建JavaBean数据源的报表模板 238

6.1.2  配置Chart 239

6.1.3  创建Servlet对象 241

6.1.4  运行效果 242

6.1.5  图表Chart的常用属性——饼状图 242

6.1.6  图表Chart的常用选项——饼状图 248

6.2  图表Chart的使用——柱状图 266

6.2.1  使用柱状图显示报表 266

6.2.2  图表Chart的常用属性——柱状图 269

6.3  Chart图表的使用——曲线图 280

6.3.1  使用JDBC数据源 280

6.3.2  使用JavaBean数据源 281

6.4  在图表Chart中添加超链接 284

6.5  在图表Chart中使用皮肤Themes 288

第7章  数据集Dataset、List控件 及Table控件 292

7.1  数据集Dataset 292

7.1.1  创建核心Servlet 293

7.1.2  创建报表模板 294

7.1.3  创建Dataset数据集 294

7.1.4  配置Dataset数据集 295

7.1.5  关联Dataset数据集 297

7.2  List控件 299

7.3  Table控件 303

7.3.1  使用Table控件 303

7.3.2  合并单元格 309

7.3.3  使用JavaBean作为报表的数据源 311

第8章  实 用 技 巧 317

8.1  导出各种文件格式 317

8.1.1  导出.xls文件 323

8.1.2  导出PDF文件 328

8.1.3  导出DOC文件 330

8.1.4  导出HTML文件 331

8.2  取消报表分页 339

8.3  实现当前页/总页数的效果 339

8.4  巧用Text Field控件的Borders属性 340

8.5  一次输出多个报表 342

8.6  静态文本多行显示 345

8.7  设计带边框的表格 346

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个