第1部分 CrystalReports9简介 3
第1章 初识CrystalReports9 3
1.1CrystalReports9简介 3
1.1.1CrystalReports屏幕元素 5
1.1.2从头开始:打开或创建一个报表 6
1.2使用报表向导 7
第2部分 Web上的CrystalReports 9
1.3使用空报表选项 11
1.3.1DatabaseExpert 11
1.3.2Design标签和FieldExplorer 12
1.3.3报表的各个部分 14
1.3.4预览报表 14
1.3.5移动对象和调整对象尺寸 15
1.3.6格式化对象 17
1.3.7自定义CrystalReports的行为 19
1.4报表浏览器 22
第2章 使用文本对象改进外观 24
2.1字段标题文本对象 25
2.2结合数据库字段 25
2.3结合特殊字段 27
2.5从文件导入文本 29
2.4格式化文本对象的各个部分 29
第3章 排序和分组 31
3.1排序报表 31
3.2将记录分组 32
3.2.1操纵现有的组 35
3.2.2GroupExpert 37
3.2.3添加汇总 37
3.2.4多级分组 41
3.2.5指定顺序的分组 43
3.2.6深入数据 45
3.2.8自定义组名字段 47
3.2.7根据日期字段分组 47
3.2.9根据公式字段分组 48
3.2.10TOPN报表 50
3.2.11层状分组 52
第4章 创建地图映射 55
4.1不同的地图类型 55
4.2添加地图 56
4.2.1Data标签 57
4.2.2Type标签 60
4.2.3Text标签 61
4.3在地图上深入搜索 61
4.4改变地图视图 61
4.4.1地图定位器 62
4.4.2解决数据失配问题 63
4.4.3地图层 64
5.1FormulaWorkshop 67
第5章 使用公式 67
5.2FormulaExpert 70
5.3FormulaEditor 71
5.3.1数据类型 77
5.3.2创建一个新公式 78
5.3.3编辑、重命名或删除一个已有的公式 81
5.4数字公式 82
5.5字符串公式 85
5.5.1ToText函数 88
5.5.2分解字符串 90
5.6日期/时间公式 91
5.6.1日期之间的天数 91
5.6.2时间之间的小时数和分钟数 93
5.6.3月、日、年、小时、分及秒函数 93
5.6.4DateValue函数 93
5.7If-Then-Else公式 95
5.7.1If-Then-Else公式中的数据类型 96
5.7.2一个If-Then-Else语句中的多个动作 97
5.7.3用于If-Then-Else公式中有用的内置函数 100
5.8其他CrystalReports逻辑构造 102
5.8.1SelectCaseStatement 102
5.8.2For循环 103
5.8.3WhileDo循环 104
5.9布尔型公式 105
5.10公式和计算中的变量 107
5.10.1声明一个变量 108
5.10.2变量作用域 109
5.10.3给变量赋值 110
5.10.4显示变量的内容 111
5.10.5执行时刻及报表过程 112
5.10.6不使用变量时 116
5.12求总字段 118
5.11用户函数库 118
6.1自定义函数的定义 123
第6章 创建自定义函数 123
6.2创建自定义函数 124
6.2.1从已有的公式中提取自定义函数 124
6.2.2从头创建自定义函数 129
6.2.3修改现有的自定义函数 132
6.3与其他用户共享自定义函数 133
6.4在公式中应用自定义函数 134
7.1存储库的定义 136
第7章 存储库 136
7.2创建一个共享的存储库 137
7.3.1创建文件夹 140
7.3添加/更新存储库 140
7.3.2添加和删除条目 141
7.4报表添加存储库条目 144
7.4.1文本对象和位图图像 145
7.4.2自定义函数 145
7.4.3SQL命令 146
7.5修改报表中的存储库条目 147
第8章 使用高级选择规则进行分析 149
8.1SelectExpert 149
8.1.1刷新报表与使用保存的数据 153
8.1.2使用日期字段进行的记录选择 154
8.2直接操纵记录选择公式 155
8.3利用组选择公式筛选数据 157
8.4使用记录选择时的性能考虑 159
第9章 改进报表外观 161
9.1常用格式 161
9.1.1格式化工具栏 161
9.1.2格式编辑器 163
9.2HighlightingExpert 164
9.3条件格式化公式 165
9.3.1绝对格式化与条件格式化 166
9.3.2灵活使用Suppress属性 168
9.4特殊的字体、图形和线条 169
9.4.1使用特殊字体 170
9.4.2使用位图图形 171
9.4.3画线和画框 173
9.5文本和段落格式化 174
9.6报表警报 177
9.7新的CrystalReports9模板 180
9.7.1模板专家(TemplateExpert) 181
9.7.2创建自己的模板 182
10.1使用SectionExpert格式化段 185
第10章 使用段和区 185
10.2创建汇总和深入报表 193
10.3用于标签和清单的多栏报表 198
10.4使用多个段 200
10.5条件取消段 203
10.5.1为特定的记录打印赢利信息 203
10.5.2在第2页及其后面的页面上打印不同的页眉 204
10.5.3打印奇偶页的页眉和页脚 204
10.6下层段 205
第11章 使用交叉表进行分析 207
11.1创建交叉表对象 208
11.1.2创造性地使用分组和公式 212
11.1.1编辑一个已有的交叉表 212
11.2多行多列及多个汇总字段 216
11.3自定义交叉表的外观 219
11.3.1Style标签 221
11.3.2CustomizeStyle标签 221
11.3.3向交叉表添加图例说明 225
11.3.4条件格式化交叉表 226
第12章 生成图表 229
12.1图表的类型和布局 229
12.1.1图表类型 229
12.2使用ChartExpert生成图表 231
12.1.2图表布局 231
12.2.2Data标签 232
12.2.1Type标签 232
12.2.3Axes标签 241
12.2.4Options标签 243
12.2.5Text标签 244
12.2.6确定图表位置及改变图表尺寸 246
12.2.7修改已有的图表 247
12.2.8放大和缩小图表 247
12.4图表格式化的新特性 248
12.3深入图表 248
12.4.1版本9中的条件格式化 249
12.4.2使用Chart选项自定义图表 250
第13章 使用子报表 256
13.1未链接的子报表 257
13.2链接的子报表 261
13.3FormatEditor的Common标签和Subreport标签 265
13.4响应子报表与即时子报表 267
13.5在主报表和子报表之间传递数据 268
13.6性能考虑 272
第14章 使用参数字段与用户交互 274
14.1创建参数字段 275
14.1.1建立一个选择列表 278
14.1.2参数字段提示作出响应 280
14.1.3值类型考虑 281
14.2在记录选择中使用参数字段 284
14.3在报表上显示参数字段 285
14.4参数字段的特殊性质 286
14.4.1多个值 286
14.4.2范围值 287
14.4.3控制参数字段数据项 289
14.5.1基于参数字段突出显示数据 291
14.5使用参数字段进行条件格式化 291
14.5.2基于参数字段进行条件取消 292
14.6.1将参数字段用于部分文本匹配 293
14.6在公式中使用参数字段 293
14.6.2将参数字段用于改变排序或分组方式 294
14.6.3使用参数字段来控制TopN报表设计 295
第15章 导出报表 298
15.1导出报表至Office应用程序 299
15.1.1导出为不同的文件格式 299
15.1.2导出并启动一个应用程序 301
15.1.3导出至一个ODBC数据源 302
15.1.4导出到XML 303
15.2以电子方式发送报表 307
第16章 通过SQL数据库生成报表 308
16.1登录到SQL数据库 309
16.1.1直接数据库驱动程序 309
16.1.2ODBC 309
16.1.3OLEDB 310
16.1.4选择数据库 310
16.1.5改变SQL选项 314
16.1.6改变为一个不同的数据库 315
16.1.7向报表添加附加数据表 316
16.2链接表 317
16.1.8从报表中移除无用的数据表 317
16.2.1DatabaseExpert的Links标签 318
16.2.2在同一个报表中使用多种数据库类型 322
16.2.3连接和链接类型 324
16.3查看SQL查询语句 328
16.4CrystalReportsSQLCommand 330
16.4.1创建SQLCommand 330
16.4.2在报表中使用SQLCommand 334
16.5.1选择存储过程 336
16.5使用SQL存储过程 336
16.5.2使用存储过程参数 337
16.6使用SQL表达式字段 338
16.7数据库服务器上的分组 341
16.7.1启用基于服务器的分组 343
16.7.2使用基于服务器的分组的要求 344
16.7.3深入的效果 344
16.8性能考虑 345
16.8.1让服务器完成工作 345
16.8.2使用索引字段 346
17.1.1验证数据库 347
第17章 适应数据库修改和字段映射 347
17.1识别数据库的改变 347
17.1.2使用数据源位置设置 348
17.2将老字段映射为新名称 353
第18章 通过OLAP立方体生成报表 355
18.1什么是OLAP 355
18.2CrystalReports的OLAP功能 357
18.2.1支持的OLAP系统 357
18.2.2OLAP报表的创建方法 358
18.3使用OLAPReportCreationWizard 358
18.4添加一个OLAP网格到现有的报表 365
18.5改变OLAP数据库位置 368
18.7与OLAP网格的交互 369
18.6控制OLAP网格的外观 369
第19章 通过私有数据类型生成报表 374
19.1通过MicrosoftOutlook生成报表 375
19.2通过文件系统数据生成报表 377
19.3通过WindowsNT/2000的事件日志生成报表 379
19.4通过Web服务器日志生成报表 381
19.5通过XML文件生成报表 384
19.6新的CrystalReports9动态数据源 386
第20章 CrystalReports的Web报表功能 391
20.1CrystalReports各种Web报表功能比较 392
20.2导出为静态的HTML 394
20.2.1超链接能力 397
20.2.2层叠样式表支持 399
20.3导航和查看局部报表 400
20.3.1使用导航 400
20.3.2显示局部报表 402
第21章 CrystalReports和MicrosoftASP 407
21.1ActiveServerPages和VBScript概述 407
21.2RDC与Web集成 408
21.2.1支持Crystal的ASP样例 408
21.2.2ASP中的RDC对象模型 409
21.3RDC报表查看器 412
21.3.1报表查看器的比较 413
21.3.2选择和定制报表查看器 414
21.3.3CleanUp.ASP是什么 415
21.4使用RAS进行Web集成 415
21.4.1基本RAS操作 416
21.4.2使用RASSDK在运行时定制RAS 420
21.4.3使用RASSDK控制常规的报表行为 424
21.4.4查看报表 429
第22章 CrystalEnterprise介绍 434
22.1CrystalEnterprise定义 434
22.1.2CrystalEnterprise的多层报表设计方法 435
22.1.1双层Web报表设计方法 435
22.1.3第8版标准版与第8.5版专业版的对比 437
22.2CrystalEnterprise体系结构 439
22.2.1报表的最终用户组件 439
22.2.2管理员的服务器及维护组件 441
第23章 使用CrystalLaunchpad和ePortfolio 450
23.1进入CrystalEnterpriseLaunchpad 451
23.2使用CrystalEnterpriseePortfolio 451
23.2.1ePortfolio元素 452
23.2.3浏览并运行实例和报表 455
23.2.2搜索报表 455
23.2.4Guest账户和User账户 464
23.3向CrystalEnterprise发布Crystal报表 469
23.3.1用CrystalReports8.5发布 470
23.3.3使用CrystalManagementConsole发布 480
第24章 定制CrystalEnterprise的ePortfolio 492
24.1定制概述 492
24.1.1简单的定制 493
24.1.2完全的定制 493
24.2简单的修改 494
24.2.2改变颜色和字体 495
24.2.1加入公司的个性化标识图片 495
24.2.3改变Guest账号的默认设置 496
24.2.4定制DHTML查看器的工具栏 498
24.3用CrystalServerPages进行完全定制 499
24.3.1CSP概述 500
24.3.2创建CrystalServerPages 502
第3部分 开发自定义窗口应用程序 511
第25章 在VisualBasic中集成CrystalReports9 511
25.1开发语言选项 512
25.2不同的VB报表设计选项 512
25.3VisualBasic的开发接口 513
25.2.2绑定的CrystalReports与独立版本的CrystalReports 513
25.2.1CrystalReports与微软DataReportDesigner的比较 513
25.4ReportDesignerComponent(RDC) 514
25.5RDC的对象模型体系结构 515
25.5.1RDC各部分介绍 517
25.5.2ActiveX设计器 518
25.5.3运行时库 518
25.5.4ReportViewer 518
25.5.5可嵌入报表设计器 519
25.6将RDC添加到项目中 520
25.6.1导入已有的报表 521
25.6.2创立新报表 524
25.7.1使用ActiveX设计器设计报表对象 526
25.7RDC对象模型 526
25.7.2使用外部RPT文件 528
25.8RDC对象模型简介 529
25.9提供数据库的登录凭证 531
25.10控制记录选择 533
25.11设置公式 534
25.12在运行时改变文本对象 535
25.13传递参数字段值 537
25.14操作报表组 538
25.15条件格式化和段格式化 539
25.16选择输出目标 543
25.17在运行时改变数据源 545
25.18自定义ReportViewer 548
25.19出错处理 552
25.20RDC的其他属性和方法 553
25.20.1DiscardSavedData方法 553
25.20.2SQL数据库控件 554
25.20.3RDC子报表 555
25.21在运行时创建新报表 557
25.21.1通过代码创立报表 558
25.21.2ReportCreationWizard 561
25.21.3使用可嵌入报表设计器 563
25.22.1发布概述 566
25.22发布RDC应用程序 566
25.22.2关于数据库 568
25.22.3文件导出事项 569
25.22.4用函数库 569
第26章 CrystalReports和VisualStudio.NET 570
26.1VisualStudio.NET中的CrystalReports概述 570
26.1.1类似于RDC 570
26.1.2Windows应用程序中的CrystalReports 571
26.1.3Web应用程序中的CrystalReports 573
26.1.4将CrystalReports作为VS.NETWeb服务 574
26.2创建CrystalReportsWindows应用程序 574
26.2.1在VS.NETCrystalReportsDesigner中创建或修改报表 575
26.2.2在代码中操作报表 577
26.2.3使用WindowsFormsViewer 578
26.3创建CrystalReportsWeb应用程序 580
26.4CrystalReports和Web服务 583
26.4.1创建Web服务 583
26.4.2消费一项Web服务 584
附录A 安装和配置CrystalReports组件 586
A.1安装CrystalReportsDesigner 586
A.2在Web服务器上安装ReportDesignerComponent 587
A.3CrystalLicenseManager 588
A.4安装ReportApplicationServer 589