资源预览内容
第1页 / 共55页
第2页 / 共55页
第3页 / 共55页
第4页 / 共55页
第5页 / 共55页
第6页 / 共55页
第7页 / 共55页
第8页 / 共55页
第9页 / 共55页
第10页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
http:/www.wenyuan.com.cn/webnew/第第21章章.NET报表设计报表设计(时间:1.5次课,3学时)http:/www.wenyuan.com.cn/webnew/第第21章章.NET报表设计报表设计n在信息系统开发过程中,报表的制作是项目成功的关键,它给管理者提在信息系统开发过程中,报表的制作是项目成功的关键,它给管理者提供了可视化的信息呈现方式,可以通过图形、表格等各种形式描述数据供了可视化的信息呈现方式,可以通过图形、表格等各种形式描述数据特征。本章介绍特征。本章介绍.Net项目开发过程中利用项目开发过程中利用OWC组件、组件、SQLServerReportingServices以及以及CrystalReports制作报表的技术。制作报表的技术。n本章教学目的:本章教学目的:l学会使用学会使用OWC组件制作简单的报表组件制作简单的报表l掌握掌握SQLServerReportingServices报表技术报表技术l掌握掌握CrystalReports报表技术报表技术http:/www.wenyuan.com.cn/webnew/第第21章章.NET报表设计报表设计n21.1OWC组件组件n21.2SQLServerReportingServicesn21.3CrystalReportshttp:/www.wenyuan.com.cn/webnew/21.1OWC组件组件u21.1.1OWC组件概述组件概述u21.1.2OWC组件的内部控件组件的内部控件u21.1.3OWC组件应用示例组件应用示例u21.1.4Spreadsheet控件使用语法参考控件使用语法参考http:/www.wenyuan.com.cn/webnew/21.1OWC组件组件http:/www.wenyuan.com.cn/webnew/21.1.1OWC组件概述组件概述nOWC(OfficeWebComponent)是是MicrosoftOffice中的一组用于发布电子数中的一组用于发布电子数据表、数据透视表和图表的据表、数据透视表和图表的COM控件,它可以从控件,它可以从Microsoft网站免费下载。网站免费下载。nOWC组件拥有组件拥有MicrosoftExcel的基本功能。在的基本功能。在InternetExplorer浏览器中浏览器中使用使用OWC组件,可以实现在组件,可以实现在Web中显示和处理数据,如对数据进行排序和筛中显示和处理数据,如对数据进行排序和筛选、输入新的数值、展开和折叠明细数据、旋转行列数据等,从而可查看不同形选、输入新的数值、展开和折叠明细数据、旋转行列数据等,从而可查看不同形式的源数据汇总信息。式的源数据汇总信息。nOWC组件提供开放的编程接口,可在组件提供开放的编程接口,可在ASP、ASP.NET、C#.net、VB.net、Java、PHP中使用中使用OWC组件。利用组件。利用OWC组件可以构建基于组件可以构建基于Web或者或者Windows的的MicrosoftExcel格式的报表。格式的报表。n使用使用OWC组件时,仅需安装组件时,仅需安装OWC组件,不需安装组件,不需安装MicrosoftOffice软件,便可软件,便可以在应用程序中使用与以在应用程序中使用与MicrosoftExcel一样的功能。不同的一样的功能。不同的Office版本配置不版本配置不同的同的OWC组件,常见的组件,常见的OWC版本有版本有3种:种:OWC9.0、OWC10.0、OWC11.0,表,表21.1给出了给出了OWC版本与版本与Office版本的对应关系。如无特殊说明,本教程所版本的对应关系。如无特殊说明,本教程所使用的使用的OWC组件的版本为组件的版本为OWC10.0,对应对应Office的版本是的版本是MicrosoftOfficeXP。http:/www.wenyuan.com.cn/webnew/21.1.1OWC组件概述组件概述OWC版本Office 版本OWC 9.0Microsoft Office 2000OWC 10.0Microsoft Office XP(2002)OWC 11.0Microsoft Office 2003表21.1 OWC版本与Office版本对应关系 http:/www.wenyuan.com.cn/webnew/21.1.2OWC组件的内部控件组件的内部控件n常用的常用的OWC组件可以内嵌以下组件可以内嵌以下4种控件以实现不同格式报表。种控件以实现不同格式报表。n(1)Spreadsheet控件:电子表格控件。可在控件:电子表格控件。可在Web中提供类似中提供类似Excel的功能。的功能。n(2)Chart控件:图表控件。可使控件:图表控件。可使Web页面具有图表功能。页面具有图表功能。n(3)PivotTable控件:数据透视表控件。用于呈现控件:数据透视表控件。用于呈现OLAP多维数据集,多维数据集,允许用户通过向允许用户通过向Web页添加排序、分组、筛选、分级和其他数据处理页添加排序、分组、筛选、分级和其他数据处理功能实现多维数据分析。功能实现多维数据分析。n(4)DataSource控件:数据源控件。可为控件:数据源控件。可为OWC组件内嵌的其他控件组件内嵌的其他控件提供数据访问能力。提供数据访问能力。n以下是各个控件的具体说明。以下是各个控件的具体说明。http:/www.wenyuan.com.cn/webnew/21.1.2OWC组件的内部控件组件的内部控件n1Spreadsheet 控件nSpreadsheet控件是控件是OWC组件的电子表格控件,它能够在组件的电子表格控件,它能够在Web中提供类似中提供类似Excel的功能。使用的功能。使用Spreadsheet控件可以产生一个完整的电子表格,并将其控件可以产生一个完整的电子表格,并将其发布到发布到Web页,如图页,如图21.1所示。数据发布以后所示。数据发布以后Spreadsheet控件不但能将数控件不但能将数据呈现出来,而且有很多类似据呈现出来,而且有很多类似EXCEL的计算公式供用户使用。的计算公式供用户使用。n当包含数据的单元格区域从当包含数据的单元格区域从Excel中发布时,中发布时,Spreadsheet组件将自动使用这组件将自动使用这些数据进行填充。也可以使用数据通过编程来填充些数据进行填充。也可以使用数据通过编程来填充Spreadsheet控件,具体用控件,具体用法请参考法请参考21.1.3OWC应用示例。应用示例。nSpreadsheet控件在控件在InternetExplorer中提供如下功能。中提供如下功能。l支持支持Excel中的大部分功能中的大部分功能l重新计算引擎重新计算引擎l简单的电子表格用户界面简单的电子表格用户界面l基本的电子表格格式基本的电子表格格式l数据排序数据排序l自动筛选自动筛选l多重撤消多重撤消http:/www.wenyuan.com.cn/webnew/21.1.2OWC组件的内部控件组件的内部控件图21.1 显示在 Internet Explorer 中的 Spreadsheet 控件 http:/www.wenyuan.com.cn/webnew/21.1.2OWC组件的内部控件组件的内部控件n2Chart 控件nChart控件控件OWC组件内的图表控件,能够在组件内的图表控件,能够在InternetExplorer中提供中提供MicrosoftOffice的图形功能。如图的图形功能。如图21.2所示,当所示,当Chart控件在控件在InternetExplorer中发布以后,可以生成各种柱状图、饼状图以及曲中发布以后,可以生成各种柱状图、饼状图以及曲线走势图。如果在同一个线走势图。如果在同一个Web页内同时包含页内同时包含Chart控件和控件和PivotTable控控件或件或Spreadsheet控件,可以将控件,可以将Chart控件和控件和PivotTable控件或控件或Spreadsheet控件进行绑定,这样在控件进行绑定,这样在InternetExplorer中查看中查看Chart组件时,对组件时,对Spreadsheet或或PivotTable组件中数据的更改将组件中数据的更改将自动显示在自动显示在Chart组件中。组件中。http:/www.wenyuan.com.cn/webnew/21.1.2OWC组件的内部控件组件的内部控件图21.2 显示在 Internet Explorer 中的 Chart 控件http:/www.wenyuan.com.cn/webnew/21.1.2OWC组件的内部控件组件的内部控件n3PivotTable 控件nPivotTable控件控件OWC组件内的数据透视表控件。使用组件内的数据透视表控件。使用PivotTable控件允许用户向控件允许用户向Web页添加排序、分组、筛选、分级和其他数据透视表的数据处理功能。页添加排序、分组、筛选、分级和其他数据透视表的数据处理功能。nPivotTable控件将控件将Excel的列表功能的列表功能(排序、自动筛选和分级排序、自动筛选和分级)和数据透视表的自动汇总和数据透视表的自动汇总功能结合到运行于功能结合到运行于InternetExplorer中。因此,中。因此,Web页上的数据透视表几乎等同于页上的数据透视表几乎等同于Excel工作表中的数据透视表。工作表中的数据透视表。n数据透视表列表中的数据源可以来自数据透视表列表中的数据源可以来自Excel电子表格、电子表格、OLEDB或或ODBC数据源、数据源、MicrosoftOLEDB提供的提供的OLAP数据源。数据源。PivotTable组件提供如下功能。组件提供如下功能。l交叉列表交叉列表(能够旋转行列以查看源数据的不同汇总信息能够旋转行列以查看源数据的不同汇总信息)l浏览报表数据浏览报表数据l动态筛选动态筛选(自动筛选、按选定内容筛选、筛选字段自动筛选、按选定内容筛选、筛选字段)和排序和排序l按行或按列分组按行或按列分组l创建总计创建总计l有效处理大量数据或少量数据有效处理大量数据或少量数据l进一步处理总计后面的明细数据进一步处理总计后面的明细数据(只能处理列表数据源,不能处理只能处理列表数据源,不能处理OLAP数据源数据源)http:/www.wenyuan.com.cn/webnew/21.1.2OWC组件的内部控件组件的内部控件n要理解数据透视表报表和列表的工作方式,应熟悉如下区域,如图要理解数据透视表报表和列表的工作方式,应熟悉如下区域,如图21.3所示。所示。l拖放区域拖放区域用于数据透视表列表中,能够将字段拖放到该区域。用于数据透视表列表中,能够将字段拖放到该区域。l筛选区域筛选区域数据透视表列表的顶端拖放区域。用于整个数据透视表列表数据透视表列表的顶端拖放区域。用于整个数据透视表列表的筛选。在筛选区提供了所有条目的下拉选择列表。选中特定的条目将的筛选。在筛选区提供了所有条目的下拉选择列表。选中特定的条目将只允许该条目显示在数据区域只允许该条目显示在数据区域/明细数据区域。明细数据区域。l行区域行区域左边的拖放区域。用于行的分组。左边的拖放区域。用于行的分组。l列区域列区域筛选区域下面的区域。用于列的分组。筛选区域下面的区域。用于列的分组。l数据区域数据区域数据透视表列表的主要部分。用于所有的总计数据透视表列表的主要部分。用于所有的总计(求和、计数、求和、计数、最小值、最大值最小值、最大值)和列表。和列表。l明细数据区域明细数据区域也是数据透视表列表的主要部分。用于支持明细数据的也是数据透视表列表的主要部分。用于支持明细数据的字段字段(即没有应用总计功能即没有应用总计功能)。您可以通过单击。您可以通过单击PivotTable组件工具栏组件工具栏上的上的“展开展开/折叠折叠”按钮来显示此区域。按钮来显示此区域。http:/www.wenyuan.com.cn/webnew/21.1.2OWC组件的内部控件组件的内部控件图21.3 未填充的 PivotTable List 控件,显示筛选区域、列区域、行区域和汇总/明细区域 http:/www.wenyuan.com.cn/webnew/21.1.2OWC组件的内部控件组件的内部控件n4Data Source 控件nData Source(DSC) 控件是数据源控件,能够为OWC内部其他组件提供数据访问能力。该控件提供了数据检索、数据绑定和游标管理功能。只有在发布图表或数据透视表报表且这些组件需要绑定到数据时,Data Source 控件才会从 Microsoft Excel 中发布。在 Internet Explorer 中,Data Source 控件本身是不可见的,而且也没有在 Microsoft Excel、Microsoft FrontPage 或 Microsoft Access 中向它发布的选项。它主要由 Access 的数据访问页使用。http:/www.wenyuan.com.cn/webnew/21.1.3OWC组件应用示例组件应用示例nOWC组件有丰富的编程接口,可用于实现多种应用,它不但可以应用组件有丰富的编程接口,可用于实现多种应用,它不但可以应用于于Web应用程序,还可以应用于应用程序,还可以应用于Windows应用程序,利用应用程序,利用C#语言通过语言通过OWC编程接口与编程接口与OWC进行通信可以构建复杂的报表系统。进行通信可以构建复杂的报表系统。n【例例21.1】在在Web应用程序中使用应用程序中使用OWC组件组件n本示例将演示如何在本示例将演示如何在ASP.Net应用程序中使用应用程序中使用OWC组件的组件的SpreadSheet控件来创建学生成绩查询的报表程序,同时实现将控件来创建学生成绩查询的报表程序,同时实现将Web中生成的报表导出到本地中生成的报表导出到本地Excel中。本示例由以下中。本示例由以下4个步骤完成。个步骤完成。n(1)创建创建Web窗体应用程序。窗体应用程序。n(2)向向VS.NET工具箱中添加工具箱中添加OWC组件。组件。n(3)创建创建OWC报表报表n(4)将将OWC报表导出到本地报表导出到本地Excelhttp:/www.wenyuan.com.cn/webnew/21.1.3OWC组件应用示例组件应用示例n1创建 Web 窗体应用程序n(1)选择选择【文件文件】 【新建新建】命令,然后选择命令,然后选择【项目项目】选项。选项。n(2)在在【新建项目新建项目】对话框中,选择对话框中,选择【项目类型项目类型】窗格中的窗格中的【VisualC#项目项目】,然后选择,然后选择【模板模板】窗格中的窗格中的【ASP.NETWeb应用程序应用程序】。在在【位置位置】文本框中,键入文本框中,键入http:/localhost/OWCWebDemo。n(3)单击单击【确定确定】按钮关闭对话框。按钮关闭对话框。n项目被添加到解决方案资源管理器中,并且项目被添加到解决方案资源管理器中,并且Web窗体设计器打开。窗体设计器打开。http:/www.wenyuan.com.cn/webnew/21.1.3OWC组件应用示例组件应用示例n2向VS.NET工具箱中添加OWC组件n(1)在在【工具箱工具箱】空白处右击,在弹出的快捷菜单中选择空白处右击,在弹出的快捷菜单中选择【新建选项卡新建选项卡】命令,添加命令,添加OWC选项卡。选项卡。n(2)在在【工具箱工具箱】中选择新建的中选择新建的OWC选项卡,在空白处右击,在弹出的选项卡,在空白处右击,在弹出的快捷菜单中选择快捷菜单中选择【添加删除项添加删除项】命令。命令。n(3)在在【自定义工具箱自定义工具箱】中选择中选择【COM组件组件】选项卡,然后选择选项卡,然后选择MicrosoftOfficeSpreadsheet10.0选项,如图选项,如图21.4所示。所示。http:/www.wenyuan.com.cn/webnew/21.1.3OWC组件应用示例组件应用示例图21.4 自定义工具箱 http:/www.wenyuan.com.cn/webnew/21.1.3OWC组件应用示例组件应用示例n(4)单击单击【确定确定】按钮,关闭对话框。按钮,关闭对话框。n成功添加后,成功添加后,MicrosoftOfficeSpreadsheet10.0将被添加到将被添加到OWC选项卡下面。如图选项卡下面。如图21.5所示。所示。n3创建OWC报表n在在【工具箱工具箱】中选择中选择OWC选项卡。选项卡。n选择选择MicrosoftOfficeSpreadsheet10.0控件并将其拖到控件并将其拖到Web窗窗体中,并将其体中,并将其ID命名为命名为Spreadsheet1。n打开打开HTML代码视图,添加一个代码视图,添加一个Div标签代码,使该标签的标签代码,使该标签的ID为为dv,同时要使该同时要使该Div标签的标签的runat属性更改为属性更改为server,使其可以服务器端,使其可以服务器端运行,代码布局如图运行,代码布局如图21.6所示。所示。http:/www.wenyuan.com.cn/webnew/21.1.3OWC组件应用示例组件应用示例图21.5 添加OWC组件后的工具箱 http:/www.wenyuan.com.cn/webnew/21.1.3OWC组件应用示例组件应用示例图21.6OWC组件HTML代码 http:/www.wenyuan.com.cn/webnew/21.1.3OWC组件应用示例组件应用示例n服务器端代码如下:服务器端代码如下:nprivatevoidPage_Load(objectsender,System.EventArgse)nif(!IsPostBack)n/构建数据源构建数据源nDataTabledt=newDataTable();nDataRowdr;ndt.Columns.Add(newDataColumn(StudentID,typeof(string);ndt.Columns.Add(newDataColumn(StudentName,typeof(string);ndt.Columns.Add(newDataColumn(Subject,typeof(string);ndt.Columns.Add(newDataColumn(Grade,typeof(double);ndr=dt.NewRow();ndr0=060101;ndr1=王辉王辉;ndr2=语文语文;ndr3=83;ndt.Rows.Add(dr);ndr=dt.NewRow();ndr0=060101;ndr1=王辉王辉;ndr2=数学数学;ndr3=79;http:/www.wenyuan.com.cn/webnew/21.1.3OWC组件应用示例组件应用示例ndt.Rows.Add(dr);ndr=dt.NewRow();ndr0=060102;ndr1=张亮张亮;ndr2=英语英语;ndr3=91;ndt.Rows.Add(dr);nStringBuilders=newStringBuilder();ns.Append(nn);ns.Append(SubWindow_OnLoad()n);ns.Append(Spreadsheet1.ActiveSheet.Cells.Clearn);n/表头表头ns.Append(Spreadsheet1.ActiveSheet.Range(A1:D1).Mergen);ns.Append(Spreadsheet1.ActiveSheet.Range(A1).Value=学生成绩查询表学生成绩查询表n);ns.Append(Spreadsheet1.ActiveSheet.Range(A2:D2).Mergen);ns.Append(Spreadsheet1.ActiveSheet.Range(A2).Value=);ns.Append(System.DateTime.Now.ToShortDateString();ns.Append(n);http:/www.wenyuan.com.cn/webnew/21.1.3OWC组件应用示例组件应用示例ns.Append(Spreadsheet1.ActiveSheet.Cells(3,1).Value=学号学号n);ns.Append(Spreadsheet1.ActiveSheet.Cells(3,2).Value=姓名姓名n);ns.Append(Spreadsheet1.ActiveSheet.Cells(3,3).Value=科目科目n);ns.Append(Spreadsheet1.ActiveSheet.Cells(3,4).Value=成绩成绩n);n/内容内容nfor(intj=0;jdt.Columns.Count;j+)nfor(inti=0;idt.Rows.Count;i+)nintrow=i+3;nintcol=j+1;ns.Append(Spreadsheet1.ActiveSheet.Cells(+row+,+col+).Value=+dt.Rowsij+n);n/格式格式ns.Append(Spreadsheet1.ActiveSheet.Range(a1).Font.size=15n);ns.Append(Spreadsheet1.ActiveSheet.Range(a1).font.bold=truen);ns.Append(Spreadsheet1.ActiveSheet.Range(a1:a2).VerticalAlignment=Spreadsheet1.Constants.xlVAlignCentern);s.Append(Spreadsheet1.ActiveSheet.Range(a1:a2).HorizontalAlignment=Spreadsheet1.Constants.xlHAlignCentern);ns.Append(Spreadsheet1.Range(a3:d6).Borders.Weight=Spreadsheet1.Constants.owcLineWeightMediumn);ns.Append(EndSubn);ns.Append(/scriptn);ndv.InnerHtml=s.ToString();n运行结果如图运行结果如图21.7所示。所示。http:/www.wenyuan.com.cn/webnew/21.1.3OWC组件应用示例组件应用示例图21.7 Web中的OWC报表 http:/www.wenyuan.com.cn/webnew/21.1.3OWC组件应用示例组件应用示例n4将OWC报表导出到本地Exceln单击图标可以将单击图标可以将Web页中生成的报表导出报页中生成的报表导出报本地的本地的Excel中,并且打开,如图中,并且打开,如图21.8所示。所示。http:/www.wenyuan.com.cn/webnew/21.1.3OWC组件应用示例组件应用示例图21.8 Excel中的OWC报表 http:/www.wenyuan.com.cn/webnew/21.1.3OWC组件应用示例组件应用示例n为为Form1_Load事件添加代码以生成报表:事件添加代码以生成报表:nprivatevoidForm1_Load(objectsender,System.EventArgse)nthis.axSpreadsheet1.ActiveSheet.Cells1,1=060101;nthis.axSpreadsheet1.ActiveSheet.Cells1,2=王辉王辉;nthis.axSpreadsheet1.ActiveSheet.Cells1,3=语文语文;nthis.axSpreadsheet1.ActiveSheet.Cells1,4=83;nthis.axSpreadsheet1.ActiveSheet.Cells2,1=060101;nthis.axSpreadsheet1.ActiveSheet.Cells2,2=王辉王辉;nthis.axSpreadsheet1.ActiveSheet.Cells2,3=数学数学;nthis.axSpreadsheet1.ActiveSheet.Cells2,4=79;nthis.axSpreadsheet1.ActiveSheet.Cells3,1=060102;nthis.axSpreadsheet1.ActiveSheet.Cells3,2=张亮张亮;nthis.axSpreadsheet1.ActiveSheet.Cells3,3=英语英语;nthis.axSpreadsheet1.ActiveSheet.Cells3,4=91;http:/www.wenyuan.com.cn/webnew/21.1.4Spreadsheet控件使用语法参考控件使用语法参考n1标题栏控制标题栏控制n2单元格控制单元格控制n3其他属性其他属性http:/www.wenyuan.com.cn/webnew/21.2SQLServerReportingServicesu21.2.1SQLServerReportingServices概述概述u21.2.2报表制作环境报表制作环境u21.2.3创建简单的报表创建简单的报表21.2.2http:/www.wenyuan.com.cn/webnew/21.2SQLServerReportingServiceshttp:/www.wenyuan.com.cn/webnew/21.2.1SQLServerReportingServices概述概述n1简介nSQLServerReportingServices是一种新型报表平台,可用于创建和是一种新型报表平台,可用于创建和管理各类数据库以及数据仓库所产生的报表。它与管理各类数据库以及数据仓库所产生的报表。它与VisualStudio.Net紧密集成,可以利用紧密集成,可以利用VisualStudio.Net开发环境创建各类报表。开发环境创建各类报表。http:/www.wenyuan.com.cn/webnew/21.2.2报表制作环境报表制作环境nSQLServerReportingServices是通过是通过VisualStudio.Net2003创创建的。建的。VisualStudio包括了包括了ReportingServices创建报表所需的各种创建报表所需的各种工具。从选择数据源信息、创建报表布局以及预览报表所需的所有工作工具。从选择数据源信息、创建报表布局以及预览报表所需的所有工作都可以在都可以在VisualStudio中完成。中完成。n在在SQLServerReportingServices安装完成后,安装完成后,VisualStudio会新会新增一个增一个【商业智能项目商业智能项目(BusinessIntelligence)】类型模版,如图类型模版,如图21.10所示。所示。l在在【商业智能项目商业智能项目】类型中的项目具有类型中的项目具有【报表项目向导报表项目向导】和和【报表项目报表项目】两种模版。两种模版。l报表项目向导报表项目向导通过通过ReportWizard向导创建一个完成的报表项目。向导创建一个完成的报表项目。l报表项目报表项目创建一个空白的报表项目。打开报表后,需要手动指定数创建一个空白的报表项目。打开报表后,需要手动指定数据源、指定查询、对报表布局设置格式等。据源、指定查询、对报表布局设置格式等。http:/www.wenyuan.com.cn/webnew/21.2.2报表制作环境报表制作环境图21.10 新建项目 http:/www.wenyuan.com.cn/webnew/21.2.2报表制作环境报表制作环境n2制作环境n图图21.11展示了展示了VisualStudio中创建中创建ReportingServices报表的环境。报表的环境。下面简要介绍下面简要介绍VisualStudio用于创建报表的各种工具栏的功能。用于创建报表的各种工具栏的功能。n设计设计(Design)窗口窗口n图图21.11中间的设计窗口是创建报表的地方,数据定义和报表布局都是中间的设计窗口是创建报表的地方,数据定义和报表布局都是在这里创建的。设计窗口有在这里创建的。设计窗口有3个标签:个标签:l数据数据可以为报表定义数据源、用查询分析器创建数据集。可以为报表定义数据源、用查询分析器创建数据集。l布局布局可以创建报表布局。单击该标签后可以利用可以创建报表布局。单击该标签后可以利用【字段字段】、【工具箱工具箱】和和【属性属性】3个窗口对报表进行设计,本教程下面的小节将介绍这三个窗口对报表进行设计,本教程下面的小节将介绍这三个窗口的基本功能。个窗口的基本功能。l预览预览可以看到报表的外观以及报表内的数据。使用预览功能可以看到可以看到报表的外观以及报表内的数据。使用预览功能可以看到HTML格式的报表,也可以看到导出为其他格式的报表。格式的报表,也可以看到导出为其他格式的报表。http:/www.wenyuan.com.cn/webnew/21.2.2报表制作环境报表制作环境n(2)字段窗口字段窗口n字段窗口位于图字段窗口位于图21.11的左上方,它提供了报表中采用的数据库字段清单。这些字段是由查询分析的左上方,它提供了报表中采用的数据库字段清单。这些字段是由查询分析器创建的数据集生成。将字段窗口中的字段拖放到设计窗口中的适当位置,器创建的数据集生成。将字段窗口中的字段拖放到设计窗口中的适当位置,VisualStudio就会将就会将该字段添加到报表中,在预览报表的时候能够自动从数据库中读取数据信息。该字段添加到报表中,在预览报表的时候能够自动从数据库中读取数据信息。n(3)工具箱工具箱n工具箱位于图工具箱位于图21.11左下方,它包含创建报表所需要的所有控件。利用工具箱可以将文本和图形放左下方,它包含创建报表所需要的所有控件。利用工具箱可以将文本和图形放到报表的适当位置。同字段窗口一样,可以利用拖放的方式把工具箱中的控件摆放到报表中。到报表的适当位置。同字段窗口一样,可以利用拖放的方式把工具箱中的控件摆放到报表中。n(4)属性窗口属性窗口n属性窗口位于图属性窗口位于图21.11的右下方,是控制每一个报表控件特征的地方。属性窗口显示了设计窗口中的右下方,是控制每一个报表控件特征的地方。属性窗口显示了设计窗口中选中的报表控件的属性。在图选中的报表控件的属性。在图21.11中,选中的是报表的主体。属性窗口的左侧列出了该报表控件中,选中的是报表的主体。属性窗口的左侧列出了该报表控件的每一个属性的名称,它们是可以改变的。右边列出了这些属性的当前设置。的每一个属性的名称,它们是可以改变的。右边列出了这些属性的当前设置。n(5)解决方案资源管理器解决方案资源管理器n解决方案资源管理器位于图解决方案资源管理器位于图21.11右边,用于管理右边,用于管理VisualStudio中处理的所有对象,这些对象由数中处理的所有对象,这些对象由数型结构分级显示。型结构分级显示。n一个报表项目总是包含一个报表项目总是包含“共享数据源共享数据源”和和Reports两个文件夹。其中两个文件夹。其中“共享数据源共享数据源”文件夹中包含文件夹中包含报表所要的各种数据源的连接,这些数据源由报表项目中的多个报表共享使用。报表所要的各种数据源的连接,这些数据源由报表项目中的多个报表共享使用。nReports文件包含用文件包含用VisualStudio创建的所有报表。在创建的所有报表。在VisualStudio编辑报表的时候,设计窗口编辑报表的时候,设计窗口和字段窗口每次只能显示一个报表信息。如果项目包含多个报表,双击和字段窗口每次只能显示一个报表信息。如果项目包含多个报表,双击Reports文件中的报表可以文件中的报表可以切换它们的显示信息。切换它们的显示信息。http:/www.wenyuan.com.cn/webnew/21.2.2报表制作环境报表制作环境图21.11 报表制作环境 http:/www.wenyuan.com.cn/webnew/21.2.3创建简单的报表创建简单的报表n创建创建ReportingServices报表应用程序一般要通过以报表应用程序一般要通过以下几个步骤来完成。下几个步骤来完成。n(1)在在VisualStudio中创建一个新的报表项目中创建一个新的报表项目n(2)创建一个数据源创建一个数据源n(3)创建一个数据集创建一个数据集n(4)设计报表布局设计报表布局http:/www.wenyuan.com.cn/webnew/21.3CrystalReportsu21.3.1CrystalReports概述概述u21.3.2报表设计报表设计u21.3.3创建简单报表创建简单报表u21.3.4用用CrystalReportViewer报表查看报表查看器承载报表器承载报表http:/www.wenyuan.com.cn/webnew/21.3CrystalReportshttp:/www.wenyuan.com.cn/webnew/21.3.1CrystalReports概述概述n1简介nCrystalReports是加拿大是加拿大CrystalDecisions公司出品的专业级报表分公司出品的专业级报表分析与生成软件,在全球已经拥有超过析与生成软件,在全球已经拥有超过1100万的用户,是万的用户,是.Net平台下使平台下使用最为广泛的报表工具之一。用最为广泛的报表工具之一。CrystalReports集成在集成在VisualStudio.Net集成开发环境之中,但是购买了集成开发环境之中,但是购买了VisualStudio.Net使用许使用许可后,必须购买可后,必须购买CrystalReports的使用许可,才可以在软件项目中使的使用许可,才可以在软件项目中使用用CrystalReports。n2特点nCrystalReports通过数据库驱动程序与数据库连接。每个驱动程序都通过数据库驱动程序与数据库连接。每个驱动程序都被编写为可处理特定数据库类型或数据库访问技术。被编写为可处理特定数据库类型或数据库访问技术。http:/www.wenyuan.com.cn/webnew/21.3.2报表设计报表设计n可在可在CrystalReportDesigner中创建报表。当向项目中添加中创建报表。当向项目中添加CrystalReports对象,或双击项目中现有的对象,或双击项目中现有的CrystalReports对象时,对象时,CrystalReportDesigner将自动启动。将自动启动。n1. 报表对象nCrystalReportDesigner使用类似于使用类似于VisualStudio.NET的拖放方的拖放方式,即将一个报表对象拖动到设计器式,即将一个报表对象拖动到设计器(如数据库字段或文本对象如数据库字段或文本对象)上,然上,然后使用后使用【属性属性】对话框或快捷菜单格式化该对象。对话框或快捷菜单格式化该对象。n可根据您的需要将一些报表对象添加到您的报表中并进行格式化,如:可根据您的需要将一些报表对象添加到您的报表中并进行格式化,如:数据库字段、公式字段、参数字段、组名字段、运行总计字段、摘要字数据库字段、公式字段、参数字段、组名字段、运行总计字段、摘要字段、图表、子报表。段、图表、子报表。n2. 报表节nCrystalReportDesigner分为若干个报表节,如报表页眉、页脚和详分为若干个报表节,如报表页眉、页脚和详细信息,可将对象拖动到某个报表节上。细信息,可将对象拖动到某个报表节上。http:/www.wenyuan.com.cn/webnew/21.3.2报表设计报表设计l报表页眉报表页眉n放在放在【报表页眉报表页眉】节中的对象只在报表开头输出显示一次。节中的对象只在报表开头输出显示一次。【报表页眉报表页眉】节通常包含报表的标题和其他节通常包含报表的标题和其他希望只在报表开始位置出现的信息。放在该节中的图表和交叉表包含整个报表的数据。放在该节中的公希望只在报表开始位置出现的信息。放在该节中的图表和交叉表包含整个报表的数据。放在该节中的公式只在报表开始进行一次求值。式只在报表开始进行一次求值。l页眉页眉n放在放在【页眉页眉】节中的对象输出显示在每个新页的开始位置。节中的对象输出显示在每个新页的开始位置。【页眉页眉】节通常包含希望在每页的顶部出现节通常包含希望在每页的顶部出现的信息。它可以包括文本字段的信息。它可以包括文本字段(如章节名、文档名或其他类似信息如章节名、文档名或其他类似信息)。该节也可以用来包含字段标题。在。该节也可以用来包含字段标题。在报表中这些字段标题将作为标签显示在字段数据列的顶部。图表或交叉表不能放置在该节中。放在该节报表中这些字段标题将作为标签显示在字段数据列的顶部。图表或交叉表不能放置在该节中。放在该节中的公式在每个新页的开始进行一次求值。中的公式在每个新页的开始进行一次求值。l详细资料详细资料n放在放在【详细资料详细资料】部分中的对象随每条新记录输出显示。部分中的对象随每条新记录输出显示。【详细资料详细资料】部分包含报表正文数据。批量报部分包含报表正文数据。批量报表数据通常出现在这一节中。当报表运行时,表数据通常出现在这一节中。当报表运行时,【详细资料详细资料】部分随每条记录重复输出显示。例如,如果部分随每条记录重复输出显示。例如,如果向向【详细资料详细资料】部分中添加了一个数据库对象,而这个数据库对象包含部分中添加了一个数据库对象,而这个数据库对象包含100条记录,那么报表在运行时条记录,那么报表在运行时将输出显示将输出显示100个单独的个单独的“详细资料详细资料”部分。图表或交叉表不能放置在该节中。放在该节中的公式对每部分。图表或交叉表不能放置在该节中。放在该节中的公式对每条记录进行一次求值。条记录进行一次求值。l报表页脚报表页脚n放在放在【报表页脚报表页脚】节中的对象只在报表的结束位置输出显示一次。该节可用来包含希望只在报表的末尾节中的对象只在报表的结束位置输出显示一次。该节可用来包含希望只在报表的末尾出现一次的信息出现一次的信息(如总计如总计)。放在该节中的图表和交叉表包含整个报表的数据。放在该节中的公式只在报。放在该节中的图表和交叉表包含整个报表的数据。放在该节中的公式只在报表的结束位置进行一次求值。表的结束位置进行一次求值。http:/www.wenyuan.com.cn/webnew/21.3.2报表设计报表设计l页脚页脚n放在放在【页脚页脚】节中的对象输出显示在每页的底部。该节通常包含页码和任何其他希望出现在每页底部的节中的对象输出显示在每页的底部。该节通常包含页码和任何其他希望出现在每页底部的信息。图表和交叉表不能放置在该节中。放在该节中的公式在每个新页面的结束位置进行一次求值。信息。图表和交叉表不能放置在该节中。放在该节中的公式在每个新页面的结束位置进行一次求值。l其他报表节其他报表节n如果将组、摘要或小计添加到报表,则本程序创建另外两个节:如果将组、摘要或小计添加到报表,则本程序创建另外两个节:【组页眉组页眉】和和【组页脚组页脚】。当添加了组、。当添加了组、摘要或小计时,摘要或小计时,【组页眉组页眉】节出现在节出现在【详细资料详细资料】部分的正上方,而部分的正上方,而【组页脚组页脚】节出现在节出现在【详细资料详细资料】部分的正下方。跟原始报表节一样,每个新添加的节也可以包含一个或多个子节。默认情况下,它们都部分的正下方。跟原始报表节一样,每个新添加的节也可以包含一个或多个子节。默认情况下,它们都只包含一个节。只包含一个节。l组页眉组页眉n放在放在【组页眉组页眉】节中的对象输出显示在每个新组的开始位置。该节通常保存组名字段,也可以用来显示节中的对象输出显示在每个新组的开始位置。该节通常保存组名字段,也可以用来显示包括组特定数据的图表或交叉表。包括组特定数据的图表或交叉表。【组页眉组页眉】节在每组的开始位置输出显示一次。放在该节中的图表和节在每组的开始位置输出显示一次。放在该节中的图表和交叉表仅包含本组数据。放在该节中的公式在每组的开始对本组进行一次求值。交叉表仅包含本组数据。放在该节中的公式在每组的开始对本组进行一次求值。l组页脚组页脚n放在放在【组页脚组页脚】节中的对象输出显示在每组的结束位置。该节通常保存汇总数据节中的对象输出显示在每组的结束位置。该节通常保存汇总数据(如果有如果有),也可以用来,也可以用来显示图表或交叉表。显示图表或交叉表。【组页脚组页脚】节在每组的结束位置输出显示一次。放在该节中的图表和交叉表仅包含节在每组的结束位置输出显示一次。放在该节中的图表和交叉表仅包含本组数据。放在该节中的公式在每组的结束位置对本组进行一次求值。本组数据。放在该节中的公式在每组的结束位置对本组进行一次求值。n最后完成的报表中出现的数据将因你的设计选择而定。尤其是,报表数据会因你所选择插入特定报表对最后完成的报表中出现的数据将因你的设计选择而定。尤其是,报表数据会因你所选择插入特定报表对象的节的不同而不同。例如,如果在象的节的不同而不同。例如,如果在【报表页眉报表页眉】节中插入一个图表对象,那么该图表将只在报表开头节中插入一个图表对象,那么该图表将只在报表开头出现一次,并汇总报表所包含的数据。或者,如果将图表对象添加到出现一次,并汇总报表所包含的数据。或者,如果将图表对象添加到【组页眉组页眉】节中,那么每组数据的节中,那么每组数据的开头都将出现一个单独的图表,并汇总只与该组相关的数据。开头都将出现一个单独的图表,并汇总只与该组相关的数据。http:/www.wenyuan.com.cn/webnew/21.3.2报表设计报表设计n3. 访问和添加数据n在在ReportDesigner中,首先选择你的报表将要引用的中,首先选择你的报表将要引用的数据源,在一个报表中可使用一个以上的数据源。数据源,在一个报表中可使用一个以上的数据源。n接下来,选择要在报表中使用的数据库表。接下来,选择要在报表中使用的数据库表。CrystalReports可自动链接这些表,或者可以指定链接这些表可自动链接这些表,或者可以指定链接这些表的方式。将数据库表链接以使来自一个数据库的记录与的方式。将数据库表链接以使来自一个数据库的记录与来自另一个数据库的记录相匹配。来自另一个数据库的记录相匹配。http:/www.wenyuan.com.cn/webnew/21.3.2报表设计报表设计n4. 受支持的数据源n使用使用CrystalReportsforVisualStudio.NET可以连接到并从中制作报表的数据源。可以连接到并从中制作报表的数据源。nCrystalReports通过数据库驱动程序与数据库连接。每个驱动程序都被编写为可处理通过数据库驱动程序与数据库连接。每个驱动程序都被编写为可处理特定数据库类型或数据库访问技术。特定数据库类型或数据库访问技术。nCrystalReportsforVisualStudio.NET可以访问下列数据源并从中制作报表:可以访问下列数据源并从中制作报表:l使用使用ODBC驱动程序的任何数据库驱动程序的任何数据库l使用使用OLEDB提供程序的任何数据库提供程序的任何数据库lMicrosoftAccess数据库数据库lMicrosoftExcel工作簿工作簿lADO.NET数据集数据集lADO记录集记录集lCDO记录集记录集lDAO记录集记录集lRDO记录集记录集http:/www.wenyuan.com.cn/webnew/21.3.3创建简单报表创建简单报表n1. 使用 Crystal Report Designern当在项目中双击现有的当在项目中双击现有的Crystalreport对象或向项目中添加新报表对象时,对象或向项目中添加新报表对象时,CrystalReportDesigner就会自动启动。就会自动启动。n2. 创建新报表步骤n在在VisualStudio.NET【解决方案资源管理器解决方案资源管理器】中,右击项目以显示快捷菜单。选择中,右击项目以显示快捷菜单。选择【添加添加】|【添加新项添加新项】命令。命令。n在在【添加新项添加新项】对话框中,从对话框中,从【模板模板】区域选择区域选择CrystalReport。单击。单击【打开打开】按钮。按钮。n在在CrystalReport库中,选择下列选项之一:库中,选择下列选项之一:n使用报表专家使用报表专家指导您完成报表的创建过程,并将您的选择添加到指导您完成报表的创建过程,并将您的选择添加到CrystaleportDesigner。n作为空白报表作为空白报表打开打开CrystalReportDesigner。n来自于现有的报表来自于现有的报表创建新报表,它与指定的另一报表设计相同。创建新报表,它与指定的另一报表设计相同。n单击单击【确定确定】按钮。如果选择使用按钮。如果选择使用【报表专家报表专家】,便会出现,便会出现【报表专家报表专家】对话框,并带有对话框,并带有数据资源管理器。为每个文件夹选择所需数据,完成数据资源管理器。为每个文件夹选择所需数据,完成【报表专家报表专家】选项卡界面上的操作,选项卡界面上的操作,然后单击然后单击【完成完成】按钮来访问按钮来访问CrystalReportDesigner报表。报表。n选择选择【文件文件】|【保存保存】命令,保存报表。命令,保存报表。http:/www.wenyuan.com.cn/webnew/21.3.4用用CrystalReportViewer报表查看报表查看器承载报表器承载报表n在在Windows应用程序中承载报表包括下列步骤应用程序中承载报表包括下列步骤(可选步骤用于处理可选步骤用于处理Windows报表查看器和报表查看器和/或或Windows应用程序的自定义情况应用程序的自定义情况):l创建创建Windows应用程序。应用程序。l向应用程序添加向应用程序添加Windows报表查看器。报表查看器。l调整调整Windows报表查看器的属性报表查看器的属性(可选可选)。l访问访问Windows项目中的报表。项目中的报表。l将报表绑定到将报表绑定到Windows报表查看器。报表查看器。l与与Windows窗体中的其他控件交互窗体中的其他控件交互(可选可选)。l生成和运行生成和运行Windows应用程序。应用程序。l在在Windows报表查看器中查看报表。报表查看器中查看报表。http:/www.wenyuan.com.cn/webnew/21.3.4用用CrystalReportViewer报表查看报表查看器承载报表器承载报表n【例例21.9】在在Windows窗体报表查看器中查看报表。窗体报表查看器中查看报表。n接接【例例21.8】,返回到,返回到Form1窗口,用鼠标从窗口,用鼠标从【工具箱工具箱】中将中将crystalReportViewer控件拖到窗体上,如图控件拖到窗体上,如图21.36所示。所示。n修改修改DisplayGroupTree属性为属性为FALSE隐藏组树隐藏组树(此例中不需要组树此例中不需要组树),结果如图结果如图21.37所示。所示。n修改属性修改属性ReportSource,将我们上节制作的报表,将我们上节制作的报表CrystalReport1.rpt,绑定到,绑定到crystalReportViewer控件上。控件上。n运行程序,结果如图运行程序,结果如图21.38所示。所示。n这就完成了简单报表的制作和如何在这就完成了简单报表的制作和如何在Windows窗体报表查看器中查看窗体报表查看器中查看报表的过程。报表的过程。http:/www.wenyuan.com.cn/webnew/21.3.4用用CrystalReportViewer报表查看报表查看器承载报表器承载报表图21.36 crystalReportViewer控件 http:/www.wenyuan.com.cn/webnew/21.3.4用用CrystalReportViewer报表查看报表查看器承载报表器承载报表图21.37 隐藏组树的crystalReportViewer控件 http:/www.wenyuan.com.cn/webnew/21.3.4用用CrystalReportViewer报表查看报表查看器承载报表器承载报表图21.38 报表显示结果http:/www.wenyuan.com.cn/webnew/Q & A?Thanks!
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号