第9章 数据报表与数据图表 数据报表和数据图表是信息系统不可或缺的部分。

Slides:



Advertisements
Similar presentations
第21章 .NET报表设计 (时间:1.5次课,3学时).
Advertisements

第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
项目2 字符格式和段落编排 2017年3月7日6时54分.
插入超链接 高邮市第一实验小学 范太国 任务一:设置文本超链接 任务一:设置文字超链接 步骤:1、选定文字并右击,在快捷菜单 中选择“超链接”命令。 2、在弹出的对话框中选择左侧“链接到:”中的“本文档中的位置(A)”项,在“请选择文档中的位置(C):”中选择需要链接的幻灯片,单击“确定”按钮。
PRESENTED BY OfficePLUS
图表的创建.
在PHP和MYSQL中实现完美的中文显示
第15章 数据报表与数据图表.
第15章 数据报表与数据图表.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
走进编程 程序的顺序结构(二).
网络常用常用命令 课件制作人:谢希仁.
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第一讲: 基本流程(1).
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
Hub Web System 主要功能: 1.查询库存(Query Current Storage) 2.创建PL(Create PL) 3.查询、打印PL单(Query & Print PL) 4.查询允交量、在途量 5.修改用户的基本信息(Update Password) 6.查询GR(Query.
科研信息管理工具 Endnote X4 王辉.
第17章 网站发布.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
2017 唯美樱花工作模板 Your content to play here, or through your copy, paste in this box, and select only the text. Your content to play here, or through your.
POWERPOINT TEMPLATE HI.
PRESENTED BY OfficePLUS
程序设计工具实习 Software Program Tool
新PQDT论文全文库提交平台.
产品推广 PRODUCT PROMOTION PRESENTED BY OfficePLUS.
直接扫描保存成TIF格式, 其他图片格式用Windows XP自带的 Windows图片与传真查看器打开
标准配色方案 背景 文本和线条 阴影 强调色 主色一 主色二 主色三 主色四 推荐应用顺序. 标准配色方案 背景 文本和线条 阴影 强调色 主色一 主色二 主色三 主色四 推荐应用顺序.
第四章 团队音乐会序幕: 团队协作平台的快速创建
PRESENTED BY OfficePLUS
第1章 c++概述 1.1 C++语言的简史及特点 1.2 简单的C++程序 1.3 C++语言的基本组成
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
VB与Access数据库的连接.
PRESENTED BY OfficePLUS
姚金宇 MIT SCHEME 使用说明 姚金宇
POWERPOINT TEMPLATE PRESENTED BY OfficePLUS.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
项目二:HTML语言基础.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
数据库系统与应用实验 基于SQL Server 2005.
第六章 Excel的应用 一、Excel的单元格与区域 1、单元格:H8, D7, IV26等 2、区域:H2..D8, HS98:IT77
第4章 Excel电子表格制作软件 4.4 函数(一).
企业宣传推广 Loem ipsum dolor sameman tanam casectetur adipiscing elit tamam dalam qoue sampe. dolor sameman tanam casectetur adipiscing elit tamam dalam qoue.
1 月 日 一 二 三 四 五 六 元旦 11/20 11/21 11/22 11/23 11/ /25 11/26 11/27 11/28 11/29 11/30 12/ /2.
iSIGHT 基本培训 使用 Excel的栅栏问题
可编辑图表汇总 修改方法: 点击图表内容→“设计”选项卡→编辑数据.
品牌推广方案 汇报时间:2018年8月 汇报人:优品PPT
Chapter 18 使用GRASP的对象设计示例.
Visual Basic程序设计 第13章 访问数据库
Delphi 7.0开发示例.
SCI收录号查询方法介绍 上海大学情报研究所
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
报头 的制作.
Python 环境搭建 基于Anaconda和VSCode.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
项目进度甘特图 标题 双击图标可以对图表图形及文字的颜色、边框等进行选择。点击图表然后右键选 择“编辑数据”即自动跳转到Excel中对图表的数据信息进行编辑。 2015/X/X 2015/X/X 2015/X/X 2015/X/X 2015/X/X 2015/X/X 2015/X/X 2015/X/X.
YOUR SUBTITLE GOES HERE
VB与Access数据库的连接.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
WEB程序设计技术 数据库操作.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
点击此处添加标题 PPT背景图片: PPT图表下载:
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
RefWorks使用指南 归档、管理个人参考文献.
LOGO HERE 单击此处添加 您的标题标题标题 PRESENTED BY JANE DOE
04 03 add your text. add your text. add your text. add your text add your text. add your text. add your text. add your text. add your text add your text.
Presentation transcript:

第9章 数据报表与数据图表 数据报表和数据图表是信息系统不可或缺的部分。 数据报表和数据图表是将信息汇总输出或打印的一种表现形式,不仅可以集中、分类显示数据,还可以帮助用户进一步分析信息。 Visual Studio 2005集成了标准报表创建工具水晶报表(Crystal Reports),在ASP.NET环境下可以快速地实现数据报表和数据图表。

9.1数据报表和数据图表概述 1.认识数据报表和数据图表 右图是Crystal Reports自带的示例数据报表World Sales Report.rpt的运行效果。 报表右侧为产品在各国家销售总额的数据表,左侧是以饼图展示的各国家销售比例的数据图表,另外,图中还包括了有图表的页眉、页脚等。

在Web应用程序中实现报表之前,首先应当进行报表设计,即根据业务需要和用户需求确定报表基本内容,列出信息大纲和布局,主要包括: 2.数据报表设计 在Web应用程序中实现报表之前,首先应当进行报表设计,即根据业务需要和用户需求确定报表基本内容,列出信息大纲和布局,主要包括: (1)确定报表的总体目的和用途。 (2)确定报表布局:为报表拟订标题、页眉页脚中所需要的识别信息(如打印日期、报表页码、制表人信息、描述报表目的的文字、数据包含的范围)等。 (3)确定数据来源:确定报表中所用的数据,包括数据库的类型和来源、获取数据库表中的数据、对数据字段值进行运算等。 (4)明确数据处理方法:包括数据的分组、排序、筛选、汇总、标记等。 (5)确定打印区域特性:包括确定打印顺序、打印频率等。 (6)设计报表的纸张原型:即在纸上规划出报表内容和布局。

3.数据图表设计 在数据报表中,除了数据列表和汇总,还可以包含彩色的、易读的图表,以增加报表的可读性和分析能力。 可根据数据特点选择合适的图表类型,报表中常用的图表有条形图、饼图、散点图、面积图、雷达图等等。 图表不仅是一种表示数据的方法,也是一种分析工具,能够深化对数据的理解。 当向报表中添加图表时,通常根据组级的汇总和小计信息绘制图表。根据所用数据特点,也可以为报表创建高级图表、交叉表图或OLAP网格图表。

9.2 .NET水晶报表(Crystal Reports) 1.水晶报表核心组件 嵌入式 Crystal Reports Designer:创建或修改报表。由一个图形用户界面(用于 “所见即所得”的报表设计)和一系列“报表专家”(用于简化数据连接、排序、分组和其它报表设计问题)组成。 报表查看器控件CrystalReportViewer :将报表添加到应用程序中窗体上,用于显示报表。 对象模型 :.NET水晶报表提供了包含两个基本对象模型 (CrystalReportViewer和ReportDocument)的SDK。使用对象模型可以采用代码方式开发专业的数据报表。

2. .NET水晶报表的数据访问方式 拉模式(PULL) 推模式(PUSH) 水晶报表根据指定的驱动连接数据库并直接将需要的数据“拉”进报表。使用该模式时,与数据库的连接和为了获取数据而执行的SQL命令均由Crystal Reports自行处理,不需编写代码。 拉模式数据访问 推模式(PUSH) 首先创建与报表中的字段相匹配的数据集DataSet,然后将该数据集“推”送至报表。该方法可以在应用程序中共享数据库连接和数据集,并且在推送之前筛选出所需数据,从而提高报表性能。 推模式数据访问

9.2.2以拉模式实现水晶报表 以拉模式实现水晶报表主要包括以下步骤: ① 根据用户需求确定报表基本内容,设计纸张原型。 ② 在.NET项目中创建Crystal报表文件,用向导配置数据源。 ③利用Crystal Reports Designer修改报表布局。 ④ 向Web窗体添加CrystalReportViewer控件,并将创建的Crystal报表绑定到CrystalReportViewer控件。 【例9.1】采用拉模式实现一个学生名册报表。 报表的显示内容和布局如图,报表中包括学生姓名、性别、生日和联系电话数据项;报表顶端显示“东华大学”和“学生名册”;在页面左上方显示打印日期;在页脚处显示“第N页 共M页”。

使用Crystal Reports建立报表文件(*.rpt)的步骤: ① 新建Crystal报表文件。在解决方案资源管理器中,右击网站项目名称,选择“添加新项”命令,在“添加新项”对话框中,“模板”选择“Crystal报表”、“名称”后输入报表文件名,默认文件名为CrystalReport.rpt,单击“添加”按钮。 ② 选择报表创建选项。 提示:第一次创建Crystal报表文件时,会出现“Crystal Reports最终用户许可证”对话框,要求用户接受许可协议,选择接受许可即可。 ③ 选择数据源。 ④ 指定数据源连接的信息。 ⑤ 选择用于建立报表的数据表。 ⑥ 选择要在报表中显示的数据字段。 ⑦ 在分组(将报表中的信息分组)和记录选定(选择要显示的信息子集)对话框中,根据需求做相应的选择。 ⑧ 在报表样式对话框中,为报表选择格式化样式。

(2)利用Crystal Reports Designer修改报表布局。 ① 在“报表页眉”处右击,选择“报表/节专家”菜单进入 “节专家”对话框,不选中“抑制显示(无向下钻取)”; 选“插入/文本对象” 菜单,填写文本“东华大学”,在属 性窗口设置字体为“宋体“、”四号”、“粗体”。 ② 在“页眉”处右击,选择“插入/文本对象”菜单,填写 文本“学生名册”,在属性窗口设置字体为“宋体四号”。 ③ 在“页眉”节将标题分别修改为:学生姓名、性别、生日、 联系电话。 ④ 将详细资料节下边框向下稍拖,以便拉开行间距离,选 “插入/线”在下面划一条线作为页眉分割线,右击 [Birthday]选“设置对象格式”,在 “日期和时间”中选 “1999年03月01日”。 ⑤ 在“报表页脚”节删除“页码”项,右击选“插入/特殊 字段/第N页,共M页”,居中。 ⑥ 单击“主报表预览”标签,查看报表显示结果。

(3)添加CrystalReportViewer控件并绑定数据报表文件。 ① 新建一个ASP.NET Web窗体页面:StuReport.aspx。 ② 从工具箱的“Crystal Reports”组中拖动CrystalReportViewer控件至StuReport.aspx的设计页面中。 ③ 在CrystalReportViewer的任务菜单中选择“选择报表源”下拉列表框中的“新建报表源”命令,出现“创建报表源”对话框,在“为CrystalReportSource控件指定Crystal报表”下拉列表框选择刚创建的“CrystalReport.rpt”文件。 (4)运行应用程序,查看报表显示结果 。 提示:注意首先在解决方案资源管理器中选中StuReport.aspx为当前页,再运行;因为浏览报表的CrystalReportViewer在StuReport.aspx页上,而报表文件不能作为页面。

9.2.3水晶报表设计环境 1.关于报表创建选项 1)使用报表专家 作为创建报表的向导,一步一步引导快速创建报表。Crystal Reports提供标准、套用信函、窗体、交叉表、子报表、邮件标签、深化等各类报表专家供选用。 2)作为空白报表 从头开始创建报表。用于当需要具有完全的灵活性和控制能力,想要从头开始创建报表时,或当报表类型与向导中许多可用的报表类型都不同的情况。 3)来自于现有的报表 基于某个已经存在的一个报表为模型而生成新报表。通过选择“来自于现有的报表”选项来打开作为模型的一个报表,并使用“文件”菜单上的“另存为”命令将其保存为新文件。

作为创建报表的向导可以快速创建报表。由若干选项卡组成,指导用户一步步创建指定的报表。 2.报表向导 作为创建报表的向导可以快速创建报表。由若干选项卡组成,指导用户一步步创建指定的报表。 ① 数据:为报表选择数据源和数据表。可以选择的数据源包括: 项目数据:当前连接的数据源列表和添加到当前项目中的AOD.NET数据集。 OLE DB (ADO):使用OLE DB提供程序的列表。 ODBC (RDO):使用ODBC数据源的列表。 数据库文件:本地驻留的数据库的列表。 收藏夹:在“收藏夹”列表中维护的数据源的列表。 历史记录:近期使用的数据源列表(一般显示5个)。 更多数据源:可通过本机驱动程序访问的其他数据源。

② “链接”:如果在“数据”中选择了两个或更多的表,将出现报表创建向导“链接”步骤,用于设置和显示新报表中多个表之间的联接关系。 ③ “字段”:选择要包含在报表中的字段。 ④ “分组”:指定在报表上显示数据时的分组依据字段,是向导中的一个可选步骤。 ⑤ “汇总”:对已分组的数据选择要进行小计(求和、平均值、最大值、最小值、计数等)、添加百分比以及总计等运算的字段。创建汇总字段是向导中的一个可选步骤。

⑥ “组排序”:对在“分组”步骤中创建的组进行排序。可将所有组进行排序 ;也可选前五个组或后五个组进行排序,并可选择排序所基于的汇总字段。本步骤可选,仅当在“分组”步骤中指定了一个组并在“汇总”选项卡中指定了一个汇总时,才会出现。 ⑦ “图表”:在报表中创建图表是向导中的一个可选步骤。可以选择插入到报表中的各种不同图表类型、指定图表的标题等。 ⑧ “记录选定”:使用记录选定公式和参数筛选要包含在报表中的记录,是向导中的一个可选步骤。 ⑨ “报表样式”:从预定义的格式化样式中选择要在报表中使用的样式。

3.水晶报表的布局 在Crystal Report Designer中,一般有五个报表节 : (1)报表页眉 :只在报表开头输出显示一次。此节用于显示报表的标题等报表开始位置出现的信息。 (2)页眉:输出显示在每个新页的开始位置。此节通常用于显示包括章节名、文档名称和其它类似信息。还可以用于显示报表上字段上方的字段标题。在报表中这些字段标题将作为标签显示在字段数据列的顶部。 (3)详细资料 :随每条新记录输出显示。此节包含报表正文数据。 (4)页脚 :输出显示在每页的底部。此节通常包含页码等出现在每页底部的信息。 (5)报表页脚:只在报表的结束位置输出显示一次。此节可用来包含希望只在报表的末尾出现一次的信息(如总计)。

3.水晶报表的布局 (6)其他报表节 如果将组、汇总或小计添加到报表,则水晶报表设计器中会增加另外两个节:组页眉和组页脚。“组页眉”节出现在“详细资料”部分的正上方,而“组页脚”节出现在“详细资料”部分的正下方。跟原始报表节一样,每个新添加的节也可以包含一个或多个子节。默认情况下,它们都只包含一个节。 组页眉:输出显示在每个新组的开始位置。此节通常保存组名字段,也可以用来显示包括组特定数据的图表或交叉表。 组页脚:输出显示在每组的结束位置。此节通常保存汇总数据,也可以用来显示图表或交叉表。“组页脚”节在每组的结束位置输出显示一次。

【例9.2】采用 “拉”模式实现一个有分组汇总的报表,课程成绩汇总表,要求按课程分组显示每个学生的成绩,并统计各课程的平均成绩。

(1)建立一个新的ASP.NET Web网站或打开一个已存在的ASP.NET Web网站。 (2)在该网站中创建水晶报表,指定数据源连接信息为School数据库。 (3)在报表向导中设计报表内容。 ① 选择用于建立报表的数据表。 ② 选择要在报表中显示的数据字段 ③ 指定报表中信息的分组依据 ④ 指定报表中的汇总信息 ⑤ 调整水晶报表的布局 ⑥ 新建一个ASP.NET Web窗体页面GradeList.aspx,在页面添加CrystalReportViewer控件,选择上面创建的.rpt报表文件作为CrystalReportViewer控件的报表源。 ⑦ 运行应用程序,查看报表显示结果。

在已存在的报表上添加字段:可从窗口左边的“字段资源管理器”中直接拖动所需字段到报表上。 【报表】/【选择专家】:选择符合条件的记录,显示在报表上。 【报表】/【报表专家】:对报表进行重新设计,现有报表的定义将被替换。 【数据库】/【添加/删除数据库】:浏览数据源以查找需要添加到报表中的表。 【数据库】/【登录/注销服务器】:在“数据资源管理器”中进行新的连接或注销已有的连接。

在推模式实现水晶报表时,首先需要创建与报表中的字段相匹配的数据集DataSet,然后将该数据集“推”送至报表。主要步骤如下: 9.2.4以推模式实现水晶报表 在推模式实现水晶报表时,首先需要创建与报表中的字段相匹配的数据集DataSet,然后将该数据集“推”送至报表。主要步骤如下: ① 根据用户需求确定报表基本内容,设计纸张原型。 ② 在.NET项目中通过数据表适配器向导创建数据集DataSet为报表提供数据源。 ③ 在.NET项目中创建Crystal报表文件,报表的数据源选择“项目数据”中的“ADO.NET数据集”,使用步骤②中创建的数据集为数据源。 ④ 利用Crystal Reports Designer修改报表布局:修改显示样式和格式。 ⑤ 向Web窗体添加CrystalReportViewer控件,并通过程序代码实现将数据集数据推送给报表,以及设置所创建的报表为CrystalReportViewer控件的报表源。

【例9.3】采用推模式实现例9.2的课程成绩汇总表。 ① 建立一个新的ASP.NET Web网站或打开一个已存在的ASP.NET Web网站。 ② 在解决方案资源管理器中添加新项,选择“数据集”模板,命名为DataSetGrade。系统提示“是否将DataSet放入APP_Code文件夹”,选择“是”,则创建的数据集放在APP_Code文件夹,可以被应用程序共享。随后在编辑区会出现“DataSetGrade窗口”,并自动进入“TableAdapter配置向导” 。

③ 通过数据表适配器(TableAdapter)配置向导创建数据集DataSetGrade。数据集创建的步骤与SqlDataSource相似。主要是生成数据集的查询,该查询涉及三个表Student、Course和Grade表,可以使用查询生成器,或直接输入SQL语句,配置完成的数据集。 SELECT Course.CourseCode,Course.CourseName,Student.StudentCode, Student.StudentName,Grade.Grade FROM Course INNER JOIN Grade ON Course.CourseCode = Grade.CourseCode INNER JOIN Student ON Grade.StudentCode = Student.StudentCode ④ 在该网站中新建报表CrystalReport。仍用“标准报表专家”向导;只是在选择“可用的数据源”时,选“项目数据”中的“ADO.NET数据集”中本例新建的数据集对象DataSetGrade中的DataTable1作为数据源,后续操作同例9.2完成报表设计。

⑤ 拖CrystalReportViewer控件至GradeListPush.aspx的页面。 ⑥ 编写如下的程序代码将数据集中的数据推送到CrystalReport、并设置CrystalReport为CrystalReportViewer的报表源: protected void Page_Load(object sender, EventArgs e) { //创建自定义类型的数据集,创建TableAdapter,填充数据 DataSetGrade ds = new DataSetGrade(); DataSetGradeTableAdapters.DataTable1TableAdapter dta = new DataSetGradeTableAdapters.DataTable1TableAdapter(); dta.Fill(ds.DataTable1); //定义ReportDocument对象,加载报表 CrystalDecisions.CrystalReports.Engine.ReportDocument oCR = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); oCR.Load(Server.MapPath("~/CrystalReport.rpt")); oCR.SetDataSource(ds); //设置为CrystalReportViewer1的报表源 CrystalReportViewer1.ReportSource = oCR; } ⑦ 运行应用程序,查看报表显示结果。

9.3在水晶报表中增加数据图表 用“标准报表创建向导”创建新报表时,在“图表”步骤可向报表添加图表;或者在Crystal Report Designer中向数据报表添加图表。 1.在数据报表顶部增加图表 【例9.4】在例9.2的课程成绩汇总表顶部增加各门课程平均分对比表。

① 在报表页眉节右击选择“插入/图表”命令,打开“图表专家”对话框 。 ② 图表专家中选择图表类型、显示数据、各图表项格式等。 在“类型”选项卡处选择图表类型,这里选条形图中的并排条形图; 在“数据”选项卡处选择显示内容,因为数据报表已有分类汇总,所以本图表默认以汇总结果为图表内容; 在“文本”选项卡查看和修改各类标题及格式。这里将标题修改为“各门课程平均分对比表”、组标题为“课程号”、数据标题为“平均分”。 ③ 运行程序,即可得到所显示的包含了图表的数据报表。

2.使用“图表专家”编辑图表 右击图表选择“图表专家”命令,可打开“图表专家”。默认情况下,“图表专家”有“类型”、“数据”和“文本”3个选项卡。如果不勾选“类型”选项卡中的“自动设置图表选项”复选框,“图表专家”将增加“坐标轴”和“选项”2个选项卡。 (1)“类型”选项卡 提供可插入到报表中的不同图表类型,例如条形图、线图、面积图、饼图等等,每一类图表又有多个子类。 (2)“数据”选项卡 包含三部分:位置、布局、数据。“位置”处说明图表放在报表中的位置(页眉/页脚),以及图表出现的频率。 “布局” 根据制图数据确定图表的布局:高级、组、交叉表、OLAP。数据选择显示内容。

(3)“坐标轴”选项卡 用于设置每个图表轴的属性。该卡因所创建的图表类型而异,可用来自定义图表的某些属性,如坐标轴的刻度、图例、数据点等。 (4)“选项”选项卡 提供显示图表的图表颜色、数据点、透明背景、标记大小、标记形状、查看角度、饼图大小、条形图大小、拆分饼图、图例等设置选项。 (5)“文本”选项卡 用于指定图表的标题、副标题、脚注、轴标题和系列标题,并可设置字体选项的文本格式。

3.使用“图表选项”编辑图表 在Crystal Report Designer中右击图表,选择“图表选项”可看到“模板”、“常规”、“标题”、“网格”等命令菜单,可对图表进行如下编辑操作: (1)将新的模板应用到图表。 (2)更改图表的模板规范。 (3)更改图表标题。 (4)更改图表的数轴网格和刻度。 (5)设置所选图表的格式。 4.使用“格式化编辑器”编辑图表 在Crystal Report Designer中右击图表,选择 “设置对象格式”命令,可使用 “格式化编辑器” 对图表设置格式、边框、超级链接等。

5.在图表上使用延伸功能 一般创建的图表在报表的页眉或页角。如果想放置在其他位置,可以使用延伸功能来控制位置。 【例9.5】将例9.4中数据报表头部“各门课程平均分对比表”显示在数据表右侧 。

① 为了在数据报表右侧空出一定位置显示图表,在Crystal Report Designer中对数据表进行重新布局,使其更紧凑。 ② 在Crystal Report Designer中右击任一报表节,选择“报表/节专家”命令,在出现“节专家”对话框中,在左侧的“节”区域中,单击目前图表所在的位置“报表页眉a”,然后选中“延伸到后续节”复选框,单击“确定”按钮。 ③ 回到Crystal Report Designer中,在“报表页眉a”节中适当移动图表,模仿纸张位置放到中部右侧或调整其大小,即可实现图表延伸功能。

9.4水晶报表的浏览、导出与打印 Crystal Reports允许以不同视图查看、打印和导出报表,有两种方法。一是用CrystalReportViewer控件提供的工具菜单;另一是使用.NET提供的ReportDocument对象编写程序实现。 1.使用CrystalReportViewer查看、导出与打印报表

(1)浏览报表 可选“视图比例”放大或缩小页面显示;利用“前后翻页”对应的四个按钮转到不同的页;如果是有分组汇总功能的页面,可用“显示/隐藏组树”显示或隐藏左侧的分组导航列表,点击列表中的一项,即显示该分组位置附近的数据。使用查找功能可在所有页面内查找指定的文本,显示该位置附近的数据。 (2)导出报表 报表可以多种常用格式导出,如Crystal Reports(.rpt)、Adobe Acrobat(.pdf)、电子表格格式Microsoft Excel(.xls)、字处理器格式Microsoft Rich Text(.rtf)或Microsoft Word(.doc)等。 (3)打印报表 点击“打印“按钮后,出现“打印报表”对话框,选择打印页码范围,按“确定”后,启动文档类型相关的程序,即可使用的打印功能输出报表,也可保存为文档。

2.使用ReportDocument对象编写报表导出程序 【例9.6】采用编程方式将例9.3推模式创建的报表导出为“D:\Report.PDF”文件。 (1)在GradeListPush.aspx页面上增加1个Button1,Text属性设置为“导出报表”。 (2)程序代码如下: ① 添加对命名空间的引用,以支持ReportDocument和ExportFormatType。 using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.Shared; ② 页面加载时显示报表,为了使“导出报表”按钮事件过程能共用页面加载时加载的ReportDocument对象oCR(已推送数据),这里将其定义为页面内公共变量。

public partial class _Default : System.Web.UI.Page { //定义页面内可使用的公共变量ReportDocument对象oCR CrystalDecisions.CrystalReports.Engine.ReportDocument oCR = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); protected void Page_Load(object sender, EventArgs e) //创建自定义类型的数据集,创建TableAdapter,填充数据 DataSetGrade ds = new DataSetGrade(); DataSetGradeTableAdapters.DataTable1TableAdapter dta = new DataSetGradeTableAdapters.DataTable1TableAdapter(); dta.Fill(ds.DataTable1); //为ReportDocument对象oCR加载报表当前应用程序路径下的CrystalReport.rpt oCR.Load(Server.MapPath("~/CrystalReport.rpt")); oCR.SetDataSource(ds); //设置为CrystalReportViewer1的报表源 CrystalReportViewer1.ReportSource = oCR; }

【例9.7】采用编程方式将例9.1拉模式创建的报表导出为“D:\Report.xls”文件。 ③ 点击“导出报表”按钮,导出报表。 protected void Button1_Click(object sender, EventArgs e) { //设置导出文档的路径和文件名 string DiskFileName = @"D:\Report.pdf"; /*将文件导出,此处设置导出文档的格式为pdf格式(PortableDocFormat),也可设为其他格式*/ oCR.ExportToDisk(ExportFormatType.PortableDocFormat, DiskFileName); } 【例9.7】采用编程方式将例9.1拉模式创建的报表导出为“D:\Report.xls”文件。 如果是采用拉模式创建的报表,导出功能相似。

在GradeListPush.aspx页面增加Button1,其Text属性设为“导出报表”,代码如下: using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.Shared; protected void Button1_Click1(object sender, EventArgs e) { //定义ReportDocument对象oCR,加载报表 CrystalDecisions.CrystalReports.Engine.ReportDocument oCR = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); oCR.Load(Server.MapPath("~/CrystalReport.rpt")); //设置导出文档的路径和文件名 string DiskFileName = @"D:\Report.xls"; //将报表导出,此处设置导出文档的格式为xls格式(Excel),也可设为其他格式 oCR.ExportToDisk(ExportFormatType.Excel, DiskFileName); }