Presentation is loading. Please wait.

Presentation is loading. Please wait.

第15章 数据报表与数据图表.

Similar presentations


Presentation on theme: "第15章 数据报表与数据图表."— Presentation transcript:

1 第15章 数据报表与数据图表

2 Crystal Reports(水晶报表)
在信息系统的设计和开发中,有大量的应用软件需要以报表形式将输出结果显示或打印。 Crystal Reports(水晶报表) 可以方便地创建简单报表,同时它也提供了创建复杂或专用的报表所需的整套工具。它可以在 .NET环境下使用。 通过使用.NET水晶报表所支持的水晶报表查看器控件(CrystalReportViewer ),可以在Web或Windows应用程序中承载报表。

3 水晶报表核心组件 嵌入式 Crystal Reports Designer:用于创建或修改报表。它由一个图形用户界面(用于进行“所见即所得”的报表设计)和一系列“报表专家”(用于简化数据连接、排序、分组和其它报表设计问题)组成。 报表查看器控件CrystalReportViewer :可以将其添加到Windows或Web应用程序中的窗体上,用于在该窗体上显示报表。 对象模型:.NET水晶报表提供了包含CrystalReportViewer和ReportDocument两个对象模型的 SDK。获得额外的授权升级后,该 SDK 可扩展到包含四种对象模型。

4 【例15-1】Crystal Reports自带的示例水晶报表的显示:World Sales Report.rpt。
在.NET中创建一个新的项目文件。 从工具箱中拖动CrystalReportViewer控件至表单Form1中,并适当调整表单以及CrystalReportViewer控件的大小。 设置CrystalReportViewer控件的“ReportSource”属性,将报表绑定到CrystalReportViewer控件。点击选中表单中的CrystalReportViewer控件,在水晶报表查看器控件属性面板中,利用“ReportSource”属性的“浏览”选项,在随后出现的 “打开一个现有的Crystal Report”对话框中,选择.rpt文件路径和文件名,此例为:“C:\Program Files\Microsoft Visual Studio .NET 2003\Crystal Reports\Samples\Reports\General Business\World Sales Report.rpt”报表文件,然后单击“打开”按钮。 保存并运行项目文件。

5 World Sales Report.rpt

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

7 设计和创建水晶报表 在VS.NET 2003中创建并显示水晶报表的基本过程如下: 规划报表设计。 创建新的.NET项目文件。
创建数据集(只有采用推模式时需要):通过数据适配器配置向导创建数据集的具体操作步骤可参见本书7.1.3节ADO数据库访问。 创建Crystal报表:在项目中添加新报表(.RPT),利用“标准报表专家”创建向导创建Crystal报表。 利用Crystal Reports Designer修改报表布局。 向Windows窗体添加CrystalReportViewer控件,并将所创建的Crystal报表绑定到CrystalReportViewer控件。 运行应用程序,查看报表显示结果。

8 设计和创建水晶报表 【例15-2】采用水晶报表的PULL模式制作一个简单的学生名册报表。

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

10 报表设计环境 (2)报表专家 作为创建报表的向导可以快速创建报表。每类报表创建向导都由若干选项卡组成,指导用户一步步创建指定的报表。
“数据”选项卡 :为新报表选择数据源和数据表。可以选择的数据源包括:项目数据AOD.NET数据源、OLE DB (ADO) 、、ODBC (RDO)、数据库文件 等。 “链接”选项卡:如果在“数据”选项卡上选择了两个或更多的表,则“链接”选项卡就会出现在报表创建向导中,用于设置和显示新报表中多个表之间的链接关系。 “字段”选项卡 :选择要包含在报表中的字段。 “分组”选项卡 :指定字段在报表上的分组方式。创建组是向导中的一个可选步骤。 “汇总”选项卡 :对已分组的数据选择要进行小计(求和、平均值、计数等)、添加百分比以及总计等运算的字段。创建汇总字段是向导中的一个可选步骤。 “组排序”选项卡 :对在“分组”选项卡中创建的组进行排序。 “图表”选项卡:在报表中创建图表。 “选择”选项卡 :使用记录选定公式和参数筛选想要包含在报表中的记录。 “样式”选项卡 :从预定义的格式化模板中选择要在报表中使用的模板。

11 报表设计环境 (3)设计水晶报表的布局 1)报表页眉 :只在报表开头输出显示一次。此节用于显示报表的标题等报表开始位置出现的信息。
2)页眉:输出显示在每个新页的开始位置。此节通常用于显示包括章节名、文档名称和其它类似信息。还可以用于显示报表上字段上方的字段标题。在报表中这些字段标题将作为标签显示在字段数据列的顶部。 3)详细资料 :随每条新记录输出显示。此节包含报表正文数据。 4)报表页脚:只在报表的结束位置输出显示一次。此节可用来包含希望只在报表的末尾出现一次的信息(如总计)。 5)页脚 :输出显示在每页的底部。此节通常包含页码等出现在每页底部的信息。 6)其他报表节 如果将组、汇总或小计添加到报表,则水晶报表设计器中会增加另外两个节:组页眉和组页脚。“组页眉”节出现在“详细资料”部分的正上方,而“组页脚”节出现在“详细资料”部分的正下方,如图15-21所示。跟原始报表节一样,每个新添加的节也可以包含一个或多个子节。默认情况下,它们都只包含一个节。 组页眉:输出显示在每个新组的开始位置。此节通常保存组名字段,也可以用来显示包括组特定数据的图表或交叉表。 组页脚:输出显示在每组的结束位置。此节通常保存汇总数据,也可以用来显示图表或交叉表。“组页脚”节在每组的结束位置输出显示一次。

12 【例15-3】制作一个按班级报告的学生名册报表。 提示: 1)报表的数据字段来自T_Student和T_Class表 2)增加报表节(组)以及汇总字段
初始布局 报表运行结果 修改布局

13 【例15-4】采用水晶报表的PUSH模式制作一个班级统计报表。按专业分组显示各专业下所有班级的具体信息,并统计班级总数。
步骤: 1)建立一个新的项目文件或打开一个已经存在的需要报表的项目。 2)通过数据适配器配置向导创建数据集。 3)采用“标准报表专家” 在项目中创建水晶报表。 4)在Crystal Report Designer中对报表布局进行调整 。 5)向Windows窗体添加CrystalReportViewer控件。并编写程序代码将数据集中的数据绑定到CrystalReportViewer上。 6)运行应用程序,查看报表显示结果 。 Private Sub Form1_Load(…) Handles MyBase.Load ' 填充数据集 SqlDataAdapter1.Fill(DataSet11, "T_Major") ' 水晶报表绑定 Dim oRpt As New CrystalReport1() oRpt.SetDataSource(DataSet11) ' 设定水晶报表的ReportSource CrystalReportViewer1.ReportSource = oRpt End Sub

14 Crystal Reports数据图表 数据图表创建:
可以根据以下内容绘制图表: 汇总和小计字段 详细资料、公式和运行总计字段。 交叉表汇总。 OLAP 数据 数据图表创建: 在利用“标准报表专家”向导创建新报表时,利用“图表”选项卡创建图表; 或者,在嵌入式 Crystal Report Designer 中右击,执行相应快捷菜单中的“插入/图表”命令,打开“图表专家”对话框,在报表中创建图表。

15 【例15-5】采用水晶报表制作一个学生课程成绩一览表,其中包含一个对学生平均成绩进行比较的图表。要求按学生姓名分组显示每个学生所学的所有课程的名称和成绩,并统计每个学生各门功课的平均成绩。

16 水晶报表的导出 Crystal Reports 允许用户将报表以多种常用格式导出,如PDF文件格式、电子表格格式(.xls)、字处理器格式(.doc和.rtf)等。 可以通过以下两种方式导出报表: 通过 CrystalReportViewer 控件上的“导出”按钮。 通过 API编写程序导出。

17 水晶报表的打印 1.确定打印区域特性 (1)确定报表对象的打印顺序
报表区域按照在Crystal Report Designer中出现的顺序(从顶到底)打印。如果在区域内有多个节,则按其出现的顺序打印。 (2)确定报表对象的打印频率 报表对象输出显示的方式决定了用户应如何设计报表。这将有助于确定图表、“交叉表”及获得明确结果的公式放置的位置。 报表页眉:在报表的开始处打印一次。 页眉:在每页的开始处打印一次。 组页眉:在每个组的开始处打印一次。 详细资料:在每条记录处打印。 组页脚:在每个组的末尾处打印。 报表页脚:在报表末尾处打印一次。 页脚:在每页的底部打印。 2. 三种方式打印报表: 通过 GUI:使用Web或Windows窗体上的CrystalReportViewer控件提供的工具栏上的“打印”按钮。 通过 SDK:使用 ReportDocument 对象。 使用 ActiveX:使用CrystalReportViewer.PrintMode 属性。


Download ppt "第15章 数据报表与数据图表."

Similar presentations


Ads by Google