《Java报表开发技术深入解析》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:刘聪编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2010
  • ISBN:9787113111427
  • 页数:485 页
图书介绍:本书全面讲解Java环境中的报表开发技术。主要内容包括报表开发的基础知识、Swing报表、Java Web报表等,其中对JFreechart、JasperReports和iReports等报表开发工具也进行了深入的分析,在介绍了各种报表开发技术之后,在本书的最后对报表的打印,文件导出等操作进行了深入的阐述。

第1部分 起步篇 2

第1章 报表开发之前世今生 2

1.1 报表开发基础 2

1.1.1 报表开发简介 2

1.1.2 报表开发发展历程 3

1.2 报表开发分类——按照实现方法分类 4

1.2.1 C/S架构 4

1.2.2 B/S架构 4

1.3 报表开发分类——按照表现形式分类 5

1.3.1 表格报表 5

1.3.2 图形报表 7

1.3.3 文件报表 8

1.4 报表开发的技术实现 9

1.4.1 Java语言平台的实现 9

1.4.2 .NET语言平台的实现 9

1.4.3 其他语言平台的实现 10

第2章 Swing界面开发基础 11

2.1 Swing概要 12

2.1.1 Swing的特性 12

2.1.2 Swing与AWT之间的关系 13

2.1.3 最简单的Swing示例展示 14

2.2 Swing组件的体系结构 15

2.2.1 标准MVC体系架构 16

2.2.2 Swing中改进的MVC体系架构 16

2.3 事件处理 17

2.3.1 简单动作事件处理示例 17

2.3.2 事件源和事件 19

2.3.3 事件监听器接口和事件监听器 20

2.3.4 注册事件监听器 21

2.3.5 鼠标事件处理 21

2.3.6 键盘事件处理 24

2.3.7 监听器内部类、主类继承、单独实现类 27

2.3.8 提高程序的事件响应速度 28

2.4 Swing中的容器结构 29

2.4.1 Swing容器结构简单示例 29

2.4.2 Swing中的框架结构 31

2.4.3 其他容器组件 32

2.5 版面布局管理器(Layout Managers) 32

2.5.1 版面布局管理器的种类 32

2.5.2 BorderLayout的使用方法 33

2.5.3 FlowLayout的使用方法 34

2.5.4 其他复杂界面管理器的使用方法 36

2.6 Swing核心组件 36

2.6.1 单选按钮和按钮组 36

2.6.2 列表框 38

2.6.3 组合框 40

2.6.4 表格组件 42

2.6.5 其他界面组件 44

第3章 Java 2D图形设计基础 44

3.1 Java 2D概述 44

3.1.1 JFC和Java 2D 46

3.1.2 Graphics类 46

3.1.3 Graphics2D类 47

3.2 Java 2D绘制几何形状 47

3.2.1 绘制线条 47

3.2.2 绘制直线 49

3.2.3 绘制矩形 50

3.2.4 绘制圆形 51

3.2.5 颜色填充 53

3.2.6 设置边框 55

3.3 Java 2D文本字体支持 57

3.3.1 Java 2D中的字体 57

3.3.2 定制文本显示风格 58

3.3.3 如何使用本地字体文件 60

第4章 Java Web开发基础 62

4.1 Java Applet基础 63

4.1.1 Java Applet简介 63

4.1.2 最简单的Java Applet示例展示 63

4.1.3 Java Applet的生命周期 66

4.1.4 在Java Applet中绘制图形 68

4.1.5 在Eclipse中运行Java Applet 69

4.2 JSP基础 69

4.2.1 JSP开发运行基本环境 69

4.2.2 最简单的JSP示例展示 70

4.2.3 JSP动作指令 71

4.2.4 JSP指令 74

4.2.5 JSP内置对象 76

4.2.6 JSP文件下载示例 80

4.3 JavaBean基础 82

4.3.1 JavaBean典型示例 82

4.3.2 JavaBean编码规则 84

4.3.3 JSP+JavaBean综合应用 86

4.4 Servlet基础 88

4.4.1 最简单的Servlet示例展示 89

4.4.2 Servlet的工作原理 91

4.4.3 Servlet的生命周期 92

4.4.4 Servlet过滤器应用 92

4.5 Java Web中文乱码处理 94

4.5.1 JSP页面中文乱码 94

4.5.2 页面之间传递中文参数 95

第5章 文件操作基础 97

5.1 Java IO系统简介 97

5.2 输入/输出类 98

5.2.1 InputStream类 98

5.2.2 OutputStream类 99

5.3 Java文件操作类 100

5.3.1 File类 100

5.3.2 目录操作 101

5.4 Java IO典型应用 103

5.4.1 文件的基本操作 104

5.4.2 从文件中读取数据 106

5.4.3 按行读取文件 108

5.4.4 向文件中输出数据 110

第6章 数据库操作基础 112

6.1 SQL基础 112

6.1.1 创建和删除数据库 113

6.1.2 创建、修改、删除数据表 114

6.1.3 基本查询语句 117

6.1.4 插入、更新、删除数据记录语句 119

6.1.5 简单视图操作 120

6.1.6 简单存储过程操作 121

6.2 JDBC数据库操作基础 123

6.2.1 数据库连接URL 123

6.2.2 数据库驱动类配置 124

6.2.3 JDBC连接数据库 125

6.2.4 JDBC插入操作 126

6.2.5 JDBC删除操作 128

6.2.6 JDBC更新操作 130

6.2.7 JDBC查询操作 131

6.2.8 JDBC视图操作 133

6.2.9 JDBC存储过程操作 134

6.3 数据库访问代码优化 136

6.3.1 最原始的数据库访问代码 136

6.3.2 初步优化——数据库配置信息基础类 137

6.3.3 进一步优化——数据库配置文件 137

6.3.4 避免数据库资源泄露 139

第2部分 Swing报表开发篇 142

第7章 Swing基础表格报表开发 142

7.1 基本Swing表格报表 142

7.1.1 基本场景——搜狐体育NBA版火箭赛程 143

7.1.2 具体实现 143

7.1.3 程序运行效果 144

7.1.4 实现过程具体分析 144

7.1.5 增加时间类型列和数字类型列 145

7.1.6 改变指定列的颜色 146

7.1.7 添加表格事件 147

7.2 Swing表格报表样式 148

7.2.1 基本场景——Foxmail邮件客户端垃圾邮件列表 149

7.2.2 具体实现 149

7.2.3 程序运行效果 150

7.2.4 实现过程具体分析 151

7.2.5 增加表格排序功能 152

7.2.6 增加打印表格选中行功能 153

7.3 Swing复杂表格报表 153

7.3.1 基本场景——Qunar网站机票搜索页面 154

7.3.2 具体实现 154

7.3.3 程序运行效果 155

7.3.4 实现过程具体分析 156

7.3.5 在表格中使用HTML标签 156

7.4 Swing数据库报表 157

7.4.1 基本场景——搜狐NBA版科比数据统计 157

7.4.2 数据库结构 158

7.4.3 具体实现 160

7.4.4 程序运行效果 162

7.4.5 实现过程具体分析 162

7.4.6 在表格中增加条件查询功能 163

7.4.7 程序运行效果 166

第8章 绘制图形报表 167

8.1 绘制柱状图 167

8.1.1 基本场景——CNNIC网民主要上网地点分布图 168

8.1.2 具体实现 168

8.1.3 程序运行效果 170

8.1.4 实现过程具体分析 171

8.1.5 添加坐标轴和坐标刻度 172

8.1.6 标示柱体代表的值 173

8.2 绘制折线图 174

8.2.1 基本场景——CNNIC历次调查网民总数变化图 174

8.2.2 具体实现 175

8.2.3 程序运行效果 177

8.2.4 实现过程具体分析 177

8.2.5 添加坐标点 179

8.2.6 添加坐标点代表的值 179

8.3 绘制饼图 180

8.3.1 基本场景——CNNIC网民的性别分布图 180

8.3.2 具体实现 180

8.3.3 程序运行效果 182

8.3.4 实现过程具体分析 182

8.3.5 标注数据对应的标签和所占比例 183

8.4 增加数据库操作 184

8.4.1 基本场景——CNNIC上网经验分布图 184

8.4.2 数据库结构 185

8.4.3 具体实现 185

8.4.4 程序运行效果 189

8.4.5 实现过程具体分析 189

8.5 3D图表的实现思路 190

第9章 基于JFreeChart的Swing图形报表开发 192

9.1 JFreeChart基础 193

9.1.1 JFreeChart简介 193

9.1.2 JFreeChart核心知识 193

9.1.3 JFreeChart在Swing开发中的简单配置 194

9.2 使用JFreeChart创建柱状图 196

9.2.1 基本场景——全球WCDMA产业联盟成员构成情况 196

9.2.2 具体实现 196

9.2.3 程序运行效果 198

9.2.4 实现过程具体分析 199

9.2.5 怎样增加新的功能 202

9.3 使用JFreeChart创建折线图 210

9.3.1 基本场景——高端用户对3G网络速度的期待 210

9.3.2 具体实现 210

9.3.3 程序运行效果 212

9.3.4 实现过程具体分析 213

9.3.5 怎样增加新的功能 214

9.4 使用JFreeChart创建饼图 215

9.4.1 基本场景——3G潜在用户年龄分布 215

9.4.2 具体实现 215

9.4.3 程序运行效果 217

9.4.4 实现过程具体分析 217

9.4.5 怎样增加新的功能 219

9.5 增加数据库操作 219

9.5.1 基本场景——潜在消费者学历分布 219

9.5.2 数据库结构 220

9.5.3 具体实现 221

9.5.4 程序运行效果 223

9.5.5 实现过程具体分析 223

9.6 使用JFreeChart创建复杂图形报表 224

9.6.1 使用JFreeChart创建复合图表 224

9.6.2 使用JFreeChart动态创建折线图 229

9.6.3 使用JFreeChart创建甘特图 232

9.6.4 使用JFreeChart创建仪表盘图 236

9.7 JFreeChart高级话题 239

9.7.1 使用JFreeChart创建Swing报表中的附加功能 239

9.7.2 JFreeChart和其他报表工具的整合问题 240

第10章 基于JasperReports的报表开发 241

10.1 JasperReports基础 242

10.2 JasperReports开发环境准备 243

10.3 JasperReports报表开发流程 246

10.3.1 创建报表模板 246

10.3.2 加载模板 248

10.3.3 编译模板 248

10.3.4 填充模板 249

10.3.5 报表处理 249

10.4 JasperReports核心类库 251

10.5 JasperReports报表简单示例 252

10.6 JasperReports报表数据源 254

10.6.1 JDBC数据源 255

10.6.2 JavaBeans数据源 260

10.6.3 TableModel数据源 264

10.6.4 XML数据源 268

10.6.5 CSV数据源 272

10.6.6 其他类型数据源 275

10.7 JasperReports报表查询 276

10.7.1 SQL查询 276

10.7.2 存储过程查询 276

10.7.3 XPath查询 277

10.8 JasperReports高级话题 277

10.8.1 动态创建报表 277

10.8.2 导出报表 281

10.8.3 图形报表 281

第11章 使用iReport辅助创建JasperReports报表 287

11.1 iReport简介 287

11.2 iReport开发环境基本配置 288

11.2.1 语言设置 288

11.2.2 路径、编译器设置 289

11.3 iReport常用功能介绍 289

11.3.1 iReport报表属性设置 289

11.3.2 iReport中的表达式脚本 291

11.3.3 在iReport中编译、运行报表模板 291

11.4 iReport报表开发经典应用 292

11.4.1 向iReport创建的报表中传递参数 292

11.4.2 使用iReport创建基本报表 295

11.4.3 使用iReport创建CSV数据源报表 296

11.4.4 使用iReport创建数据库报表 301

11.4.5 使用iReport创建图形报表 302

第3部分 Java Web报表开发篇 308

第12章 最基本的Java Web表格报表开发 308

12.1 静态HTML表格 308

12.1.1 最原始的HTML表格 309

12.1.2 添加CSS样式 311

12.1.3 添加JavaScript事件处理 314

12.2 动态生成HTML表格 316

12.2.1 基本场景——从数据库中取数据动态创建表格 316

12.2.2 具体实现 317

12.2.3 程序运行效果 319

12.2.4 实现过程具体分析 319

12.2.5 怎样增加新的功能 320

12.3 Ajax动态表格 323

12.3.1 Ajax请求页面 323

12.3.2 服务器后台异步处理 327

12.3.3 程序运行效果 330

第13章 基于Applet的Java Web图形报表开发 331

13.1 Applet报表开发简介 331

13.2 使用Applet实现表格报表 332

13.2.1 基本场景——中国10千伏配电网状况 332

13.2.2 具体实现 332

13.2.3 程序运行效果 333

13.2.4 实现过程具体分析 333

13.3 使用Applet绘制柱状图 334

13.3.1 基本场景——世界主要国家煤层气资源储量 334

13.3.2 具体实现 334

13.3.3 程序运行效果 337

13.3.4 实现过程具体分析 337

13.4 使用Applet绘制折线图 338

13.4.1 基本场景——中国天然气产量在世界的排名情况 338

13.4.2 具体实现 339

13.4.3 程序运行效果 341

13.4.4 实现过程具体分析 342

第14章 基于JFreeChart的Java Web图形报表开发 343

14.1 JFreeChart在Java Web中的应用 343

14.1.1 JFreeChart目录结构 344

14.1.2 WEB-INF/lib目录下的类库 344

14.1.3 web.xml文件中Servlet的配置 344

14.2 使用JFreeChart创建柱状图 345

14.2.1 基本场景——历年金融债的发债融资量 345

14.2.2 具体实现 345

14.2.3 程序运行效果 348

14.2.4 实现过程具体分析 349

14.2.5 怎样增加新的功能 351

14.3 使用JFreeChart创建折线图 355

14.3.1 基本场景——居民和非金融类贷款年度同比增长率 355

14.3.2 具体实现 356

14.3.3 程序运行效果 359

14.3.4 实现过程具体分析 359

14.3.5 怎样增加新的功能 361

14.4 使用JFreeChart创建饼图 362

14.4.1 基本场景——短期人民币贷款结构 362

14.4.2 具体实现 363

14.4.3 程序运行效果 365

14.4.4 实现过程具体分析 365

14.5 增加数据库操作 367

14.5.1 基本场景——2007年三季度各商业银行贷存比 367

14.5.2 数据库结构 367

14.5.3 具体实现 368

14.5.4 程序运行效果 372

14.5.5 实现过程具体分析 373

14.6 使用JFreeChart创建复合图形报表 373

14.6.1 基本场景——居民类贷款占比比较 374

14.6.2 具体实现 374

14.6.3 程序运行结果 378

14.6.4 实现过程具体分析 378

第15章 基于JasperReports的Java Web报表开发 380

15.1 Java Web中JasperReports的基本配置 380

15.2 使用iReports工具辅助编译报表模板 381

15.3 在JSP页面中编译报表模板 382

15.4 填充报表模板 383

15.5 导出报表文件 384

15.5.1 导出PDF 384

15.5.2 导出Excel 386

15.5.3 导出HTML 388

15.6 添加HTML报表分页功能 391

15.7 使用JasperReports辅助创建图形报表 394

15.7.1 基本场景——商业银行人均托管基金份额比较 394

15.7.2 数据库结构 394

15.7.3 iReport辅助模板设计 395

15.7.4 JSP网页调用 400

15.7.5 程序运行效果 401

第4部分 报表打印篇 404

第16章 Swing报表打印技术 404

16.1 Java中的打印API 404

16.2 Java打印操作基本流程 405

16.2.1 指定输出格式 405

16.2.2 指定打印属性 405

16.2.3 查找打印服务 406

16.2.4 创建打印作业 406

16.2.5 设置打印内容 406

16.2.6 执行打印操作 407

16.3 Java中基本的打印操作 407

16.3.1 显示打印对话框 407

16.3.2 打印多页的文档 410

16.3.3 打印用户界面组件 414

16.4 使用Java打印Swing表格报表 415

16.4.1 基本场景——给基础Swing表格增加打印功能 415

16.4.2 具体实现 415

16.4.3 程序运行效果 417

16.4.4 实现过程具体分析 418

16.5 打印JasperReports报表 419

16.5.1 基本场景——报表模板HelloWorld.jrxml展示 419

16.5.2 具体实现 419

16.5.3 程序运行效果 420

16.5.4 实现过程具体分析 420

第17章 Java Web报表打印技术 423

17.1 Java Web报表打印概述 423

17.1.1 Web页面进行打印输出方案 423

17.1.2 采用JavaScript处理的方法 424

17.2 通过JavaScript调用打印机 424

17.2.1 JavaScript调用打印机的核心语法 424

17.2.2 打印整个页面 427

17.2.3 添加媒体类型CSS控制打印样式 429

17.2.4 自定义IE打印页面设置 431

17.2.5 打印局部页面 433

17.3 通过第三方控件调用打印机 436

17.3.1 常见第三方打印控件介绍 436

17.3.2 ScriptX打印控件使用示例 436

17.3.3 ScriptX+JasperReports联合打印 438

第5部分 文件报表篇 444

第18章 Excel文件报表操作 444

18.1 Java操作Excel工具汇总 444

18.2 JExcelAPI基础 445

18.2.1 JExcelAPI简介 445

18.2.2 JExcelAPI开发环境简单配置 445

18.3 创建Excel报表 446

18.3.1 生成简单的Excel文件 446

18.3.2 生成各种复杂数据格式的Excel文件 449

18.3.3 生成复杂布局和样式的Excel文件 451

18.3.4 生成带有图片的Excel文件 455

18.4 Excel报表读取 455

18.5 Swing中Excel文件报表的操作 457

18.5.1 基本场景——Foxmail邮件列表界面 457

18.5.2 具体实现 458

18.5.3 程序运行效果 461

18.5.4 实现过程具体分析 461

第19章 PDF文件报表操作 463

19.1 Java操作PDF工具汇总 463

19.2 iText基础 464

19.2.1 iText简介 464

19.2.2 iText开发环境简单配置 465

19.3 PDF文件基本操作 465

19.3.1 简单PDF文档创建 465

19.3.2 PDF文本操作 467

19.4 PDF图片操作 470

19.4.1 普通静态图片 470

19.4.2 GIF动画 472

19.5 PDF表格操作 475

19.5.1 普通表格 475

19.5.2 表格中的图片、样式 477

19.6 Java Web中PDF文件报表的操作 480

19.6.1 基本场景——表格中内容动态生成PDF格式文件 480

19.6.2 具体实现 480

19.6.3 程序运行效果 484

19.6.4 实现过程具体分析 484