报表设计与设计工具课件

上传人:仙*** 文档编号:241398065 上传时间:2024-06-23 格式:PPT 页数:69 大小:1.25MB
返回 下载 相关 举报
报表设计与设计工具课件_第1页
第1页 / 共69页
报表设计与设计工具课件_第2页
第2页 / 共69页
报表设计与设计工具课件_第3页
第3页 / 共69页
点击查看更多>>
资源描述
第第9章章 报表设计与设计工具报表设计与设计工具.6/23/202419.1 报表概述报表概述9.2 VFP报表的设计与应用报表的设计与应用9.3 水晶报表的设计与应用水晶报表的设计与应用第第9章章 报表设计与设计工具报表设计与设计工具.6/23/202429.1 报表概述报表概述n数据库应用程序一般包含数据库应用程序一般包含3个部分:个部分:数据输入:用户登录、用户注册等;数据输入:用户登录、用户注册等;数据处理:数据的增加、删除、修改和查询;数据处理:数据的增加、删除、修改和查询;数据输出:数据的列表、浏览等。数据输出:数据的列表、浏览等。n输出是信息系统产生的结果或提供的信息输出是信息系统产生的结果或提供的信息对于大多数用户来说,输出是系统开发的对于大多数用户来说,输出是系统开发的根本目的根本目的和评价系统开和评价系统开发成功与否的发成功与否的最终标准最终标准尽管有些用户可能使用系统进行数据录入或实现数据处理,但都尽管有些用户可能使用系统进行数据录入或实现数据处理,但都需要系统输出经过录入或处理的信息以作检查需要系统输出经过录入或处理的信息以作检查.6/23/202439.1 报表概述报表概述n信息系统数据输出的方式:信息系统数据输出的方式:窗体输出:窗体输出:n即使用窗体控件(如即使用窗体控件(如GridView、TextBox等),展示数据源等),展示数据源中的数据内容;中的数据内容;n缺陷:难以控制数据布局;无法连接打印机实现纸质输出。缺陷:难以控制数据布局;无法连接打印机实现纸质输出。图形输出:图形输出:n即使用画图工具(如即使用画图工具(如.NET平台的画图类),展示数据源中的数平台的画图类),展示数据源中的数据内容;据内容;n缺陷:仅适合于展示数据的大概分布和发展趋势,无法显示具缺陷:仅适合于展示数据的大概分布和发展趋势,无法显示具体的数据内容,特别是当要求显示的信息较多时;体的数据内容,特别是当要求显示的信息较多时;报表输出:报表输出:n主要用于实现数据(原始、汇总数据等)浏览和打印功能。主要用于实现数据(原始、汇总数据等)浏览和打印功能。.6/23/202449.1 报表概述报表概述n窗体主要用于数据操作,实现交互窗体主要用于数据操作,实现交互n报表主要用于数据显示,实现打印报表主要用于数据显示,实现打印数据源数据源报表的组成报表的组成布局布局.6/23/20245布局布局n报表布局:是指在报表页面上要打印的字段数据以及数据报表布局:是指在报表页面上要打印的字段数据以及数据在页面上的位置和样式等。即要在报表中显示哪些字段信在页面上的位置和样式等。即要在报表中显示哪些字段信息,以什么格式(字体、字号、线条和图案)在什么位置息,以什么格式(字体、字号、线条和图案)在什么位置显示。显示。n例如:例如:Visual FoxPro提供了四种常规布局。提供了四种常规布局。列报表:每行是一条记录,各字段按水平方向排列,就象在浏览窗列报表:每行是一条记录,各字段按水平方向排列,就象在浏览窗口浏览一个表时的效果,见图口浏览一个表时的效果,见图(a)。行报表:一条记录由若干行组成,各字段按垂直方向排列,就象以行报表:一条记录由若干行组成,各字段按垂直方向排列,就象以append方式追加记录时的效果,见图方式追加记录时的效果,见图(b)。一对多报表:反映一对多的关系。一对多报表:反映一对多的关系。多栏报表:可以看成是水平排列的多个行布局,同一页面上分多栏,多栏报表:可以看成是水平排列的多个行布局,同一页面上分多栏,每一栏可按列报表或行报表形式打印,见图每一栏可按列报表或行报表形式打印,见图(c)。.6/23/20246布局布局学号年龄学号年龄 姓名姓名20080001 18张三张三20080002 19金明金明20080003 18李芳李芳学号学号20080001年龄年龄18姓名张三姓名张三学号学号20080002年龄年龄19姓名金明姓名金明学号学号20080003年龄年龄18姓名李芳姓名李芳学号学号20080001 学号学号20080003年龄年龄18 年龄年龄18姓名张三姓名张三 姓名李芳姓名李芳学号学号20080002年龄年龄19姓名金明姓名金明(a)列报表列报表(c)多栏报表多栏报表(b)行报表行报表.6/23/20247数据源数据源n数据源是报表数据的来源,可以是数据表、视图数据源是报表数据的来源,可以是数据表、视图或查询。或查询。用户在设计报表布局时,并不直接在页面上添加数据,用户在设计报表布局时,并不直接在页面上添加数据,而是为要输出的字段预留一个位置,采用添加而是为要输出的字段预留一个位置,采用添加“域控域控件件”的方式来实现,就如同在表单设计中用文本框控的方式来实现,就如同在表单设计中用文本框控件来显示某个字段一样。件来显示某个字段一样。在数据显示在数据显示/打印时,打印时,“域控件域控件”从对应的字段中取得从对应的字段中取得具体数据填充在它所在的位置。具体数据填充在它所在的位置。.6/23/202489.1 报表概述报表概述n报表设计的基本原则:报表设计的基本原则:1数据面向一个应用数据面向一个应用n应做到:数据量小,针对单个应用,版面排列简明、易懂应做到:数据量小,针对单个应用,版面排列简明、易懂2便于归档便于归档n报表大小要标准化(适合打印),要预留装订位置报表大小要标准化(适合打印),要预留装订位置3输出数据应能保证精度输出数据应能保证精度.6/23/202499.1 报表概述报表概述n报表示例报表示例1.6/23/2024109.1 报表概述报表概述n报表示例报表示例2.6/23/2024119.1 报表概述报表概述n报表设计的基本步骤:报表设计的基本步骤:(1)确定要创建的报表类型;确定要创建的报表类型;(2)创建报表布局文件;创建报表布局文件;(3)修改和设置布局文件;修改和设置布局文件;(4)预览和打印报表。预览和打印报表。.6/23/2024129.2 VFP报表的设计与应用报表的设计与应用nVFP报表文件的扩展名:报表文件的扩展名:.frx,备注文件:,备注文件:.frt。n标签是一种特殊的报表,其扩展名:标签是一种特殊的报表,其扩展名:.lbx,备注文件:,备注文件:.lbt。n列报表:每行打印一条记录。列报表:每行打印一条记录。n行报表:一条记录在多行上打印。行报表:一条记录在多行上打印。n一对多报表:类似一对多表单。打印一条主表记录后,一对多报表:类似一对多表单。打印一条主表记录后,打印多条子表记录。打印多条子表记录。n多栏报表:每行打印多条记录。多栏报表:每行打印多条记录。.6/23/2024139.2 VFP报表的设计与应用报表的设计与应用nVFP报表的创建方式:报表的创建方式:用向导创建报表。用向导创建报表。用快速报表从单一表中创建报表。用快速报表从单一表中创建报表。用报表设计器创建报表。用报表设计器创建报表。n用这三种方法创建的报表文件都可以用报表设计用这三种方法创建的报表文件都可以用报表设计器进行修改。器进行修改。.6/23/2024141 利用向导创建报表利用向导创建报表n报表向导报表向导 创建单表报表创建单表报表用于创建基于单张表或视图的列报表或行报表。用于创建基于单张表或视图的列报表或行报表。可用于创建分组总计报表,提供每组数据的统计值。可用于创建分组总计报表,提供每组数据的统计值。数据分组数据分组是指在报表中按指定顺序对成组的数据进行分类汇总。是指在报表中按指定顺序对成组的数据进行分类汇总。n一对多报表向导一对多报表向导 创建一对多表报表创建一对多表报表创建包含一组主表记录及相关子表记录的报表。创建包含一组主表记录及相关子表记录的报表。.6/23/2024152 利用利用快速报表创建单表报表快速报表创建单表报表n利用报表设计器创建快速报表的操作方法:利用报表设计器创建快速报表的操作方法:1.1.(1 1)打开)打开“文件文件”菜单,选择菜单,选择“新建新建”选项。选项。2.2.(2 2)在)在“新建新建”窗口中,单击窗口中,单击“报表报表”,再按,再按“新建文件新建文件”按钮。按钮。3.3.(3 3)在)在“报表设计器报表设计器”窗口,打开窗口,打开“显示显示”菜单,选择菜单,选择“数据环数据环境境”选项。选项。4.4.(4 4)在)在“数据环境设计器数据环境设计器”窗口,打开窗口,打开“数据环境数据环境”菜单,选择菜单,选择“添加添加”选项,添加作为报表数据的表。然后按选项,添加作为报表数据的表。然后按“数据环境设计数据环境设计器器”窗口的窗口的“退出退出”按钮,返回按钮,返回Visual FoxPro Visual FoxPro 系统主菜单下。系统主菜单下。5.5.(5 5)在)在Visual FoxProVisual FoxPro系统主菜单下,打开系统主菜单下,打开“报表报表”菜单,选择菜单,选择“快速报表快速报表”,进入,进入“快速报表快速报表”窗口。窗口。.6/23/2024162 利用利用快速报表创建单表报表快速报表创建单表报表n利用报表设计器创建快速报表的操作方法:利用报表设计器创建快速报表的操作方法:(6 6)在)在“快速报表快速报表”窗口,按窗口,按“字段字段”,进入,进入“字段选择器字段选择器”窗口。窗口。(7 7)在)在“字段选择器字段选择器”窗口,选择出现在报表中的字段,按窗口,选择出现在报表中的字段,按“确定确定”按钮,返回到按钮,返回到“快速报表快速报表”窗口;再按窗口;再按“确定确定”按钮,返回到按钮,返回到“报表设计器报表设计器”窗口。窗口。(8 8)在)在“报表设计器报表设计器”窗口,打开窗口,打开“显示显示”菜单,选择菜单,选择“预览预览”进进入入“报表设计器报表设计器”的另一个窗口。的另一个窗口。(9 9)当对报表显示的格式满意后,退出)当对报表显示的格式满意后,退出“报表设计器报表设计器”窗口,进入窗口,进入“系统系统”窗口。窗口。(1010)在)在“系统系统”窗口,选择窗口,选择“是是”,进入,进入“另存为另存为”窗口。窗口。(1111)在)在“另存为另存为”窗口,输入报表名字窗口,输入报表名字“报表报表1”1”,结束建立快速,结束建立快速报表文件的操作。报表文件的操作。.6/23/202417n n前面介绍了使用报表向导和快速报表比较方便、迅速地创前面介绍了使用报表向导和快速报表比较方便、迅速地创前面介绍了使用报表向导和快速报表比较方便、迅速地创前面介绍了使用报表向导和快速报表比较方便、迅速地创建一个报表。但在方便用户的同时可以发现,建一个报表。但在方便用户的同时可以发现,建一个报表。但在方便用户的同时可以发现,建一个报表。但在方便用户的同时可以发现,向导和快速向导和快速向导和快速向导和快速报表功能并不完善报表功能并不完善报表功能并不完善报表功能并不完善,创建的报表单一,使用不灵活。,创建的报表单一,使用不灵活。,创建的报表单一,使用不灵活。,创建的报表单一,使用不灵活。n n为满足用户创建报表的各种需要,为满足用户创建报表的各种需要,为满足用户创建报表的各种需要,为满足用户创建报表的各种需要,VFPVFP提供了使用提供了使用提供了使用提供了使用报表设报表设报表设报表设计器计器计器计器创建报表,用户可以在报表中添加标题、字段及控件,创建报表,用户可以在报表中添加标题、字段及控件,创建报表,用户可以在报表中添加标题、字段及控件,创建报表,用户可以在报表中添加标题、字段及控件,通过调整报表中的控件,达到美化报表的目的。通过调整报表中的控件,达到美化报表的目的。通过调整报表中的控件,达到美化报表的目的。通过调整报表中的控件,达到美化报表的目的。n n下面介绍如何使用报表设计器创建报表。下面介绍如何使用报表设计器创建报表。下面介绍如何使用报表设计器创建报表。下面介绍如何使用报表设计器创建报表。n n1 1启动报表设计器启动报表设计器启动报表设计器启动报表设计器3 利用报表设计器创建报表利用报表设计器创建报表.6/23/2024183 利用报表设计器创建报表利用报表设计器创建报表.6/23/2024192.2.设置数据环境设置数据环境设置数据环境设置数据环境 在系统菜单上选择【显示】在系统菜单上选择【显示】在系统菜单上选择【显示】在系统菜单上选择【显示】-【数据环境】命令,打开【数据环境】命令,打开【数据环境】命令,打开【数据环境】命令,打开“数据环境设计器数据环境设计器数据环境设计器数据环境设计器”。右击【数据环境】菜单并选择【添加】命令,打开。右击【数据环境】菜单并选择【添加】命令,打开。右击【数据环境】菜单并选择【添加】命令,打开。右击【数据环境】菜单并选择【添加】命令,打开“添加表或视图添加表或视图添加表或视图添加表或视图”对话框。对话框。对话框。对话框。在该对话框中选择在该对话框中选择在该对话框中选择在该对话框中选择“dsb”“dsb”表,再单击【添加】,然后单击【关闭】,即可将表,再单击【添加】,然后单击【关闭】,即可将表,再单击【添加】,然后单击【关闭】,即可将表,再单击【添加】,然后单击【关闭】,即可将“dsb”“dsb”表添加到表添加到表添加到表添加到“数据环境设计器数据环境设计器数据环境设计器数据环境设计器”中。若要添加视图,可在中。若要添加视图,可在中。若要添加视图,可在中。若要添加视图,可在“选定选定选定选定”选项组中选项组中选项组中选项组中先选择先选择先选择先选择“视图视图视图视图”,再进行上述操作。添加后表或视图后关闭,再进行上述操作。添加后表或视图后关闭,再进行上述操作。添加后表或视图后关闭,再进行上述操作。添加后表或视图后关闭“数据环境设计器数据环境设计器数据环境设计器数据环境设计器”。3 利用报表设计器创建报表利用报表设计器创建报表.6/23/2024203 3设置报表设计器界面设置报表设计器界面设置报表设计器界面设置报表设计器界面在在新新建建报报表表时时,“报报表表设设计计器器”默默认认的的窗窗口口包包含含有有三三个个带带区区:页页标标头头、细节和页注脚。细节和页注脚。(1)(1)添添加加标标题题和和总总结结带带区区。单单击击系系统统菜菜单单“报报表表”中中的的“标标题题/总总结结”命命令令选选项项,在在弹弹出出的的“标标题题/总总结结”对对话话框框中中,设设置置报报表表标标题题或或总总结结。这这里里我我们们选选择择“标标题题带带区区”和和“总总结结带带区区”,单单击击“确确定定”按按钮钮,在在“报表设计器报表设计器”窗口上添加了标题和总结两个带区;窗口上添加了标题和总结两个带区;(2)(2)列表头、列注脚:在报表页面设置时,如果报表被设置成多拦报表,列表头、列注脚:在报表页面设置时,如果报表被设置成多拦报表,在在“报表设计器报表设计器”的窗口中还会出现两个带区。的窗口中还会出现两个带区。列标头:用于打印在每一列列标头:用于打印在每一列(一栏一栏)的开始。的开始。列注脚:用于打印在每一列列注脚:用于打印在每一列(一栏一栏)的结尾。的结尾。3 利用报表设计器创建报表利用报表设计器创建报表.6/23/2024213 利用报表设计器创建报表利用报表设计器创建报表带区带区打印次数打印次数使用方法使用方法标题标题每报表一次每报表一次“报表报表”菜单中选择菜单中选择“标题标题/总结总结”带区带区 页标头页标头每页面一次每页面一次默认可用默认可用 列标头列标头每列一次每列一次从从“文件文件”菜单中选择菜单中选择“页面设置页面设置”设置设置“列数列数”1 组标头组标头每组一次每组一次从从“报表报表”菜单中选择菜单中选择“数据分组数据分组”细节细节每记录一次每记录一次默认可用默认可用组注脚组注脚每组一次每组一次从从“报表报表”菜单中选择菜单中选择“数据分组数据分组”列注脚列注脚每列一次每列一次从从“文件文件”菜单中选择菜单中选择“页面设置页面设置”设置设置“列数列数”1 页注脚页注脚每页面一次每页面一次默认可用默认可用 总结总结每报表一次每报表一次从从“报表报表”菜单中选择菜单中选择“标题标题/总结总结”带区带区.6/23/2024223 利用报表设计器创建报表利用报表设计器创建报表.6/23/202423域控件:创建一个用于显示字段等内容的控件域控件:创建一个用于显示字段等内容的控件域控件:创建一个用于显示字段等内容的控件域控件:创建一个用于显示字段等内容的控件 直线:在报表上画各种线条直线:在报表上画各种线条直线:在报表上画各种线条直线:在报表上画各种线条矩形:在报表上画矩形矩形:在报表上画矩形矩形:在报表上画矩形矩形:在报表上画矩形圆角矩形:在报表上画圆角矩形圆角矩形:在报表上画圆角矩形圆角矩形:在报表上画圆角矩形圆角矩形:在报表上画圆角矩形图片图片图片图片/OLE/OLE/OLE/OLE绑定控件:添加图片或随记录变化的绑定控件:添加图片或随记录变化的绑定控件:添加图片或随记录变化的绑定控件:添加图片或随记录变化的OLEOLEOLEOLE对象对象对象对象 按钮锁定:在添加多个同类型控件时,不需要多次选择按钮锁定:在添加多个同类型控件时,不需要多次选择按钮锁定:在添加多个同类型控件时,不需要多次选择按钮锁定:在添加多个同类型控件时,不需要多次选择 4 4在报表中添加控件在报表中添加控件在报表中添加控件在报表中添加控件选定对象:移动或改变控件大小选定对象:移动或改变控件大小选定对象:移动或改变控件大小选定对象:移动或改变控件大小标签:创建一个标签控件标签:创建一个标签控件标签:创建一个标签控件标签:创建一个标签控件 选定对象选定对象选定对象选定对象 域控件域控件域控件域控件 矩形矩形矩形矩形 图片图片图片图片/OLE/OLE/OLE/OLE绑定控件绑定控件绑定控件绑定控件 标签标签标签标签 直线直线直线直线 圆角矩形圆角矩形圆角矩形圆角矩形 按钮锁定按钮锁定按钮锁定按钮锁定 3 利用报表设计器创建报表利用报表设计器创建报表.6/23/202424在光标处开始输入标题名在光标处开始输入标题名“博士导师一览表博士导师一览表”;字号设置:先选中字号设置:先选中“学生报表学生报表”标签,再在系统菜单中选择【格式】标签,再在系统菜单中选择【格式】|【字体】,【字体】,在弹出的在弹出的“字体字体”对话框中选择所需要的字体和字号以及字体样式。如选择对话框中选择所需要的字体和字号以及字体样式。如选择“黑体黑体”、“规则规则”、“二号二号”。接着再进行版面设置,选择【格式】接着再进行版面设置,选择【格式】|【对齐】【对齐】|【水平居中】。【水平居中】。在在“报表设计器报表设计器”中增加了标题带区中增加了标题带区(1)标题标题3 利用报表设计器创建报表利用报表设计器创建报表.6/23/202425(2)域控件域控件 单击报表控件上的域控件,打开表达式生成器,也可以将单击报表控件上的域控件,打开表达式生成器,也可以将“数据环境设计器数据环境设计器”打开来添加细节内容。打开来添加细节内容。使用使用 报表控件工具栏中的域控件,将要列在报报表控件工具栏中的域控件,将要列在报表中的字段添加到细节带区,或从表中的字段添加到细节带区,或从“数据环境设数据环境设计器计器”中逐个拖到细节带区。中逐个拖到细节带区。设置字体字号及调整布局:方法同页标题。使用设置字体字号及调整布局:方法同页标题。使用报表默认的字体和字号。报表默认的字体和字号。控件对齐:选中细节中的全部域控件,然后在系统菜单中选择【格式】控件对齐:选中细节中的全部域控件,然后在系统菜单中选择【格式】|【对【对齐】齐】|【顶边对齐】。【顶边对齐】。3 利用报表设计器创建报表利用报表设计器创建报表.6/23/202426(3)图形控件图形控件 在报表中添加线条、矩形框等控件可以使报表更为清晰、在报表中添加线条、矩形框等控件可以使报表更为清晰、美观。比如我们在例题中标题与页标头之间,总结中都美观。比如我们在例题中标题与页标头之间,总结中都用线条分隔开来。用线条分隔开来。(4)图片片OLE绑定控件定控件 在报表的细节中添加在报表的细节中添加0LE0LE绑定控件,如在报表中添加图片、绑定控件,如在报表中添加图片、公司的标志、学校的校微、随着显示记录的不同显示每公司的标志、学校的校微、随着显示记录的不同显示每个学生的照片等。个学生的照片等。3 利用报表设计器创建报表利用报表设计器创建报表.6/23/2024275数据分组数据分组 前前面面以以博博导基基本本情情况况表表为基基表表,使使用用报表表向向导创建建了了按按系系名名分分组的的报表表。使使用用“报表表设计器器”也也可可以以根根据据一一定定的的条条件件对记录进行行分分组输出出,使使具具有有相相同同条条件件的的记录在在一一个个组中中。如如果果对报表表中中的的记录进行行分分组的的话,在在“报表表设计器器”窗口窗口还将出将出现组标头、组注脚两个注脚两个带区。区。u组表表头带区:放置分区:放置分组的的标题字段,每字段,每组打印一次。打印一次。u组脚注脚注带区:放置分区:放置分组的小的小计,每,每组打印一次。打印一次。6设置页面设置页面 单击系统菜单单击系统菜单“文件文件”中的中的“页面设置页面设置”命令选项,屏幕显示命令选项,屏幕显示“页面设置页面设置”对话框。包括设置页面的列数(栏),每列的宽度,打印记录的顺对话框。包括设置页面的列数(栏),每列的宽度,打印记录的顺序序(指列数大于指列数大于1时时),打印设置中的打印机驱动程序,纸张大小及方向,打印设置中的打印机驱动程序,纸张大小及方向等。等。3 利用报表设计器创建报表利用报表设计器创建报表.6/23/2024287调整整带区大小区大小 “报表表设计器器”中中,带区区用用来来放放置置报表表所所需需的的各各个个控控件件。有有时需需要要根根据据控控件件的的多多少少、字字体体的的大大小小及及报表表中中各各部部分分内内容容之之间的的间距距来来调整整带区区的的大大小小。调整整时,只只要要将将鼠鼠标指指针指指向向要要调整整带区区的的分分厢条条,这时鼠鼠标指指针变成成上上下下双双箭箭头,按按下下鼠鼠标左左链并并上上下下拖拖动鼠鼠标,带区区的的大大小小随随之之调整。也可以双整。也可以双击带区分隔条,区分隔条,设置置带区的精确高度。区的精确高度。8设置置页表表头和和页注脚注脚 方方法法基基本本同同“域域控控件件”的的添添加加,只只不不过在在“表表达达式式生生成成器器”对话框框中中不不是是从从“字段字段”列表框中列表框中选择,而是从,而是从“变量量”列表框中列表框中选择“_pageno”。在在此此报表表中中,数数据据之之间没没有有分分隔隔线,若若要要求求要要有有网网格格线,也也可可以以用用同同上上的的基基本本方方法法,在在“页标头”中中的的字字段段名名上上加加上上方方框框线,在在“细节”中中的的域域控件上加分隔控件上加分隔线。3 利用报表设计器创建报表利用报表设计器创建报表.6/23/202429n n报表设计完成后,可以先单击系统菜单报表设计完成后,可以先单击系统菜单报表设计完成后,可以先单击系统菜单报表设计完成后,可以先单击系统菜单“常用常用常用常用”工具栏上的打印预览按钮,工具栏上的打印预览按钮,工具栏上的打印预览按钮,工具栏上的打印预览按钮,查看报表设计的效果,如果不满意还可以用上述方法进行修改,如果满意查看报表设计的效果,如果不满意还可以用上述方法进行修改,如果满意查看报表设计的效果,如果不满意还可以用上述方法进行修改,如果满意查看报表设计的效果,如果不满意还可以用上述方法进行修改,如果满意则可以结束则可以结束则可以结束则可以结束“报表设计器报表设计器报表设计器报表设计器”的设计工作,将报表保存到预定的目录中。的设计工作,将报表保存到预定的目录中。的设计工作,将报表保存到预定的目录中。的设计工作,将报表保存到预定的目录中。预预预预览结果如下:览结果如下:览结果如下:览结果如下:3 利用报表设计器创建报表利用报表设计器创建报表.6/23/202430n n完善报表完善报表完善报表完善报表l l要要要要修修修修改改改改已已已已生生生生成成成成的的的的报报报报表表表表文文文文件件件件,应应应应先先先先将将将将它它它它打打打打开开开开。在在在在项项项项目目目目管管管管理理理理器器器器的的的的“文文文文档档档档”选选选选项项项项卡卡卡卡中中中中选选选选择择择择“报报报报表表表表”,并并并并在在在在展展展展开开开开的的的的报报报报表表表表列列列列表表表表中中中中选选选选择要修改的报表,然后单击项目管理器上的择要修改的报表,然后单击项目管理器上的择要修改的报表,然后单击项目管理器上的择要修改的报表,然后单击项目管理器上的【修改修改修改修改】按钮。按钮。按钮。按钮。l l就可在报表设计器中通过以下方式完善报表。就可在报表设计器中通过以下方式完善报表。就可在报表设计器中通过以下方式完善报表。就可在报表设计器中通过以下方式完善报表。1选择、移动、添加、删除、修改控件选择、移动、添加、删除、修改控件2设置字体和字号设置字体和字号3设置颜色设置颜色4布局排列布局排列3 利用报表设计器创建报表利用报表设计器创建报表.6/23/2024319.2 VFP报表的设计与应用报表的设计与应用n报表的预览与打印报表的预览与打印预览命令:预览命令:Report Form filename Preview 打印命令:打印命令:Report Form filename n标签(特殊的报表)类型标签(特殊的报表)类型VFP提供了提供了86种标准类型的标签种标准类型的标签。n标签向导标签向导n标签设计器标签设计器标签的设计、运行等操作与报表相似。标签的设计、运行等操作与报表相似。.6/23/202432VFP报表设计的几个实例报表设计的几个实例n1 报名信息报表报名信息报表n2 考卷份数统计报表考卷份数统计报表n3 考试成绩分项统计报表考试成绩分项统计报表n4 准考证标签准考证标签n5 录取通知单录取通知单.6/23/2024339.3 水晶报表的设计与应用水晶报表的设计与应用n9.3.1 水晶报表概述水晶报表概述n9.3.2 水晶报表的设计水晶报表的设计n9.3.3 在在C#中使用水晶报表中使用水晶报表.6/23/2024349.3.1 水晶报表概述水晶报表概述n水晶报表(水晶报表(Crystal Report)提供了各种非常方便的报表处理及输出)提供了各种非常方便的报表处理及输出功能,目前已经发展到第功能,目前已经发展到第11版。在版。在VS2005中集成了水晶报表处理模中集成了水晶报表处理模块,称之为块,称之为Crystal Reports for Visual Studio 2005,使用的程序集,使用的程序集版本为版本为10.2.3600。n水晶报表提供了非常方便的报表输出功能,它具有以下主要优点:水晶报表提供了非常方便的报表输出功能,它具有以下主要优点:快速的报表开发;快速的报表开发;能够导出复杂的交互性图表;能够导出复杂的交互性图表;支持大多数开发语言(典型的如支持大多数开发语言(典型的如C#、VB.NET等等);等等);可以与其他控件一起在可以与其他控件一起在Windows窗体或网站页面中使用;窗体或网站页面中使用;能够直接进行报表预览及打印输出,也可以动态地将报表导出成为能够直接进行报表预览及打印输出,也可以动态地将报表导出成为.doc、.pdf、.xls等多种格式的文件。等多种格式的文件。.6/23/2024351 水晶报表的分类水晶报表的分类n从外观上看:从外观上看:标准报表:即一般报表,选择数据标准报表:即一般报表,选择数据源,链接数据库表,添加字段,选源,链接数据库表,添加字段,选择分组、摘要(总计)和排序字段,择分组、摘要(总计)和排序字段,创建图表并选择记录;创建图表并选择记录;交叉表报表:即以交叉表的形式显交叉表报表:即以交叉表的形式显示报表中的数据;示报表中的数据;邮件标签报表:即可打印在任意尺邮件标签报表:即可打印在任意尺寸的邮件标签上的格式化报表。寸的邮件标签上的格式化报表。.6/23/2024361 水晶报表的分类水晶报表的分类n从分发(发布)形式上来看:从分发(发布)形式上来看:嵌入式报表:指具有与嵌入式报表:指具有与.rpt文件对应的文件对应的包装类包装类的报表。将报表嵌的报表。将报表嵌入到项目中后,系统会自动为该报表生成一个同名的包装类。该入到项目中后,系统会自动为该报表生成一个同名的包装类。该报表包装类从基类报表包装类从基类ReportDocument继承,可以使用基类的所有继承,可以使用基类的所有公共属性和方法。经过包装类包装之后,项目中的所有代码均直公共属性和方法。经过包装类包装之后,项目中的所有代码均直接与包装类进行交互,而不是与原始报表文件本身进行交互。接与包装类进行交互,而不是与原始报表文件本身进行交互。非嵌入式报表:指单独以非嵌入式报表:指单独以.rpt文件形式存在的报表,即该报表不文件形式存在的报表,即该报表不包含在项目内,也没有对应的报表包装类。对包含在项目内,也没有对应的报表包装类。对ASP.NET网站,只网站,只能使用非嵌入式报表,要求该能使用非嵌入式报表,要求该.rpt文件保存在网站根目录下(可文件保存在网站根目录下(可通过通过Server.MapPath访问该目录)。访问该目录)。.6/23/2024371 水晶报表的分类水晶报表的分类n嵌入式报表:嵌入式报表:在在Windows应用程序项目中,创建的水晶报表默认应用程序项目中,创建的水晶报表默认为嵌入式报表;为嵌入式报表;项目编译后,报表和其包装类都会被自动嵌入到程序项目编译后,报表和其包装类都会被自动嵌入到程序集中,用户看不到被包装后的集中,用户看不到被包装后的.rpt文件;文件;无法被修改,灵活性较差。如果修改了报表内容,必无法被修改,灵活性较差。如果修改了报表内容,必须重新编译整个项目。须重新编译整个项目。.6/23/2024381 水晶报表的分类水晶报表的分类n非嵌入式报表:非嵌入式报表:Windows应用程序中的非嵌入式报表,必须将应用程序中的非嵌入式报表,必须将.rpt文件保存在和文件保存在和.exe文件相同的目录下(可通过文件相同的目录下(可通过Application.StartPath访问);访问);.rpt文件的文件的“生成操作生成操作”属性默认为属性默认为“嵌入的资源嵌入的资源”,即嵌入式报,即嵌入式报表;可将其改为表;可将其改为“无无”,则报表即成为非嵌入式报表,此时需要将,则报表即成为非嵌入式报表,此时需要将“复制到输出目录复制到输出目录”属性改为属性改为“始终复制始终复制”,以便可在程序中访问,以便可在程序中访问该文件;该文件;使用使用ReportDocument对象的对象的Load方法将非嵌入式报表加载到方法将非嵌入式报表加载到ReportDocument对象模型中,然后将对象模型中,然后将CrystalReportViewer对象对象的的ReportSource属性设置为属性设置为ReportDocument对象;对象;在在ASP.NET网站中,报表网站中,报表.rpt文件必须保存在网站文件夹中,而文件必须保存在网站文件夹中,而且只能通过文件目录路径引用。且只能通过文件目录路径引用。.6/23/2024392 嵌入式水晶报表设计器嵌入式水晶报表设计器n在在VS2005中提供了专门的水晶报表设计环境,称为嵌入式水晶报表设中提供了专门的水晶报表设计环境,称为嵌入式水晶报表设计器(计器(Crystal Reports for Visual Studio 2005)。)。n不论是不论是Windows应用程序还是应用程序还是ASP.NET网站,均可在嵌入式水晶报网站,均可在嵌入式水晶报表设计器内创建和修改水晶报表(表设计器内创建和修改水晶报表(.rpt文件)。文件)。n在嵌入式水晶报表设计器内:在嵌入式水晶报表设计器内:可以直接通过拖放方式将一个报表对象(如数据库字段或文本对象、公式可以直接通过拖放方式将一个报表对象(如数据库字段或文本对象、公式字段、参数字段和运行总计字段等)拖动到设计器的相关节上,然后使用字段、参数字段和运行总计字段等)拖动到设计器的相关节上,然后使用“属性属性”窗口或快捷菜单格式化该对象;窗口或快捷菜单格式化该对象;可以定义报表的数据源,选择要使用的数据记录并对其进行分组,设置报可以定义报表的数据源,选择要使用的数据记录并对其进行分组,设置报表对象的格式及布局。表对象的格式及布局。n嵌入式水晶报表设计器为报表的设计提供了非常高效的环境。在设计嵌入式水晶报表设计器为报表的设计提供了非常高效的环境。在设计时,不需要与实际的数据源连接,可使用框架在选项卡上标识字段。时,不需要与实际的数据源连接,可使用框架在选项卡上标识字段。.6/23/2024402 嵌入式水晶报表设计器嵌入式水晶报表设计器.6/23/2024412 嵌入式水晶报表设计器嵌入式水晶报表设计器n(1)Crystal Reports菜单菜单包含了与报表相关的绝大部分操作。包含了与报表相关的绝大部分操作。n(2)字段资源管理器字段资源管理器包含了在报表中可以使用的所有字段。字段是报表中的基本数据包含了在报表中可以使用的所有字段。字段是报表中的基本数据单位,揭示了数据来源。单位,揭示了数据来源。n(3)属性视图属性视图给出了报表中字段或文本对象的相关属性给出了报表中字段或文本对象的相关属性n(4)工具箱工具箱提供了提供了3种控件:文本对象、线条对象和框对象,字段对象则通种控件:文本对象、线条对象和框对象,字段对象则通过字段资源管理器进行添加。过字段资源管理器进行添加。.6/23/2024422 嵌入式水晶报表设计器嵌入式水晶报表设计器n(5)节节报表由各个不同的报表节构成,不同节中的内容在报表中出现的频率各不报表由各个不同的报表节构成,不同节中的内容在报表中出现的频率各不相同:相同:1)报表页眉和报表页脚报表页眉和报表页脚n报表页眉报表页眉/页脚节用于显示报表级的内容,其中的对象只在报表开头页脚节用于显示报表级的内容,其中的对象只在报表开头/结尾输出结尾输出一次,一般在该节中放置标题或希望只在报表开始一次,一般在该节中放置标题或希望只在报表开始/结束位置出现一次的信息,结束位置出现一次的信息,如作者、日期等。如作者、日期等。2)页眉和页脚页眉和页脚n一个报表可能包含多页,每页都有一个页眉一个报表可能包含多页,每页都有一个页眉/页脚。页眉页脚。页眉/页脚节用于显示页面页脚节用于显示页面级的内容,其中的对象在每页的顶部级的内容,其中的对象在每页的顶部/底部位置都会输出一次,如章节名称、字底部位置都会输出一次,如章节名称、字段名称、页码等。段名称、页码等。3)组页眉和组页脚组页眉和组页脚n只有在对报表分组的情况下才显示。组页眉和组页脚中的对象分别显示在每个只有在对报表分组的情况下才显示。组页眉和组页脚中的对象分别显示在每个新组的开始和结束位置,通常用于显示分组依据和组内的公共信息。新组的开始和结束位置,通常用于显示分组依据和组内的公共信息。4)详细资料详细资料n其中的对象随每条记录重复输出显示,包含了报表的正文数据。其中的对象随每条记录重复输出显示,包含了报表的正文数据。.6/23/2024432 嵌入式水晶报表设计器嵌入式水晶报表设计器n(6)页面设置页面设置右击右击Crystal Reports设计器,在弹出的快捷菜单中选择设计器,在弹出的快捷菜单中选择“设计设计”-“页面设置页面设置”,会弹出页面设置对话框,可用于设置页面大小。,会弹出页面设置对话框,可用于设置页面大小。n(7)打印机设置打印机设置右击右击Crystal Reports设计器,在弹出的快捷菜单中选择设计器,在弹出的快捷菜单中选择“设计设计”-“打印机设置打印机设置”,会弹出打印设置对话框,可用于设置报表版,会弹出打印设置对话框,可用于设置报表版式和打印方向。式和打印方向。.6/23/2024443 水晶报表的数据源水晶报表的数据源n在在VS2005中,可以将水晶报表直接连接到数据库,也可以使用中,可以将水晶报表直接连接到数据库,也可以使用ADO.NET数据集作为报表的数据源:数据集作为报表的数据源:1、直接连接到数据库:其优点是设计时直观简洁,报表控制功能强大,、直接连接到数据库:其优点是设计时直观简洁,报表控制功能强大,能预览实际数据输出的效果。对于简单的报表,使用这种方式即可;要完能预览实际数据输出的效果。对于简单的报表,使用这种方式即可;要完成复杂的报表,还需要使用水晶报表提供的函数,重新学习一套与成复杂的报表,还需要使用水晶报表提供的函数,重新学习一套与C#类类库提供的格式完全不同的函数并不是开发者所希望的。库提供的格式完全不同的函数并不是开发者所希望的。2、以、以ADO.NET数据集作为报表数据源:既可以从多种数据源(包括数据集作为报表数据源:既可以从多种数据源(包括Access、Oracle和和SQL Server数据库)创建数据库)创建ADO.NET数据集,使得报数据集,使得报表可以显示不同数据源的数据;也可以使用表可以显示不同数据源的数据;也可以使用C#语法控制语法控制ADO.NET数据源,数据源,灵活、方便地控制报表的输出。但是,在设计时不能预览实际的数据输出。灵活、方便地控制报表的输出。但是,在设计时不能预览实际的数据输出。n在应用程序中设计水晶报表时,一般情况下,应该尽量使用在应用程序中设计水晶报表时,一般情况下,应该尽量使用ADO.NET数据集作为报表的数据源,以避免报表受所连接的数据库文件位置的数据集作为报表的数据源,以避免报表受所连接的数据库文件位置的限制。限制。.6/23/2024454 水晶报表对象模型水晶报表对象模型n对象模型是指构成编程模型的核心类及其周围类,例如对象模型是指构成编程模型的核心类及其周围类,例如ADO.NET就就是用于数据访问的对象模型。是用于数据访问的对象模型。n在水晶报表设计中,在水晶报表设计中,VS.NET也提供了一系列用于报表编程的类,可也提供了一系列用于报表编程的类,可通过代码编程方式与报表进行交互。通过代码编程方式与报表进行交互。nCrystal Reports SDK包含四个对象,常用的有:包含四个对象,常用的有:n1.CrystalReportViewer报表显示器,包含了显示报表和与报表文件交互的属性和方法。报表显示器,包含了显示报表和与报表文件交互的属性和方法。在在VS2005中,首先将报表封装到中,首先将报表封装到ReportDocument对象中,然后对象中,然后CrystalReportViewer通过该对象与报表进行交互。通过该对象与报表进行交互。一般将一般将CrystalReportViewer控件仅用于控制报表显示的形式。控件仅用于控制报表显示的形式。常用属性:常用属性:nReportSource:需要显示的报表源。:需要显示的报表源。.6/23/2024464 水晶报表对象模型水晶报表对象模型n2.ReportDocumentReportDocument提供了在代码中处理报表的各种能力,应该使用这提供了在代码中处理报表的各种能力,应该使用这种对象和报表进行交互。种对象和报表进行交互。ReportDocument的实例由的实例由.rpt报表文件及其自动生成的类组成。报表文件及其自动生成的类组成。例如在例如在VS2005中创建了一个名为中创建了一个名为“StudentReport.rpt”的水晶报表,的水晶报表,完成报表设计后,选择主菜单中的【生成】完成报表设计后,选择主菜单中的【生成】-【生成解决方案】,系【生成解决方案】,系统会自动创建一个对应的强类型的统会自动创建一个对应的强类型的ReportDocument类,在工具箱中类,在工具箱中即可以看到自动生成的名为即可以看到自动生成的名为“StudentReport”的组件,将该组件拖放的组件,将该组件拖放到设计窗体后,即得到实例到设计窗体后,即得到实例“studentReport1”,以后就可以在代码,以后就可以在代码中使用该实例的属性完成对报表结构及报表内部数据的各种控制。中使用该实例的属性完成对报表结构及报表内部数据的各种控制。.6/23/2024474 水晶报表对象模型水晶报表对象模型n常用属性:常用属性:1)ReportDefinition属性:获取属性:获取ReportDefinition对象,对应报表设计器中的布局。对象,对应报表设计器中的布局。2)DataDefinition属性:获取属性:获取DataDefinition对象,对应于报表设计器中的字段资源对象,对应于报表设计器中的字段资源管理器。管理器。3)SummaryInfo属性:获取属性:获取SummaryInfo对象,可以通过该对象设置报表主题等。对象,可以通过该对象设置报表主题等。例如:例如:studentReport1.SummaryInfo.ReportTitle=“学生情况表学生情况表”;,意为设置报,意为设置报表标题为表标题为“学生情况表学生情况表”。4)RecordSelectionFormula属性:获取或设置记录选定公式,用于筛选指定的记录。属性:获取或设置记录选定公式,用于筛选指定的记录。例如:例如:studentReport1.RecordSelectionFormula=“MyTable2.姓名姓名 like*王王*”;,意为选择,意为选择MyTable2中所有姓名中包含中所有姓名中包含“王王”的记录。的记录。n注意,公式使用的是注意,公式使用的是Crystal语法:字段名语法:字段名“表名表名.字段名字段名”的形式表示,且必须用大括号括的形式表示,且必须用大括号括起来;匹配任意字符用起来;匹配任意字符用“*”号表示。号表示。n需要再次强调的是:在需要再次强调的是:在VS2005中,应该用自动生成的中,应该用自动生成的ReportDocument类来类来控制与控制与.rpt报表内部的交互;而报表内部的交互;而CrystalReportViewer对象仅用于控制报表的外对象仅用于控制报表的外观显示形式。观显示形式。.6/23/2024485 基于向导创建报表基于向导创建报表nVS2005内嵌的水晶报表提供了创建报表向导,内嵌的水晶报表提供了创建报表向导,为开发人员快速创建报表提供了有力的工具。为开发人员快速创建报表提供了有力的工具。n报表创建的基本步骤:报表创建的基本步骤:(1)确定数据来源;)确定数据来源;(2)设置报表的显示格式。)设置报表的显示格式。.6/23/2024495 基于向导创建报表基于向导创建报表n(1)创建创建Crystal Reports应用程序应用程序打开打开VS2005,选择,选择“文件文件”-“新建新建”-“项目项目”,弹出,弹出“新新建项目建项目”对话框,在其中选择对话框,在其中选择“Crystal Reports应用程序应用程序”。.6/23/2024505 基于向导创建报表基于向导创建报表n(2)选择使用向导选择使用向导项目创建好后,系统会自动弹出项目创建好后,系统会自动弹出“Crystal Reports库库”对话框。对话框。选择选择“使用报表向导使用报表向导”,并在,并在“选择专家选择专家”中选择中选择“标准选项标准选项”,单击确定。,单击确定。.6/23/2024515 基于向导创建报表基于向导创建报表n(3)选择数据源类型选择数据源类型在在“标准报表创建向导标准报表创建向导”对话框中可以选择报表的数据源类型。对话框中可以选择报表的数据源类型。在在“可用数据源可用数据源”列表框中列出了列表框中列出了Crystal Reports所支持的数所支持的数据源类型。本例中选择据源类型。本例中选择“创建新连接创建新连接”-“OLE DB(ADO)”。.6/23/2024525 基于向导创建报表基于向导创建报表n(4)连接数据源连接数据源双击双击“OLE DB(ADO)”,将弹出,将弹出“OLE DB(ADO)”对话框,其中对话框,其中可以为报表建立数据源。可以为报表建立数据源。.6/23/2024535 基于向导创建报表基于向导创建报表n(5)选择要报告的数据选择要报告的数据数据源建立好后,在数据源建立好后,在“可用数据源可用数据源”的的“OLE DB(ADO)”下即会下即会出现刚建好的数据源,选择其中出现刚建好的数据源,选择其中BMK表作为要报告的数据;表作为要报告的数据;单击单击“下一步下一步”,将弹出,将弹出“字段字段”选择对话框,在选择对话框,在“可用字段可用字段”中选择要显示数据信息。中选择要显示数据信息。.6/23/2024545 基于向导创建报表基于向导创建报表n(6)分组分组在在“分组分组”对话对话框中可选择框中可选择“分分组依据组依据”。本例。本例中以中以“yxsm”(院系所码)字(院系所码)字段作为分组依据,段作为分组依据,并选择并选择“按升序按升序”排列。排列。.6/23/2024555 基于向导创建报表基于向导创建报表n(7)汇总汇总确定报表分组后可以确定报表分组后可以对分组进行统计工作,对分组进行统计工作,如计数和、最大值、如计数和、最大值、平均值等。平均值等。在在“汇总汇总”对话框的对话框的“可用字段可用字段”列表框列表框中,将中,将“xm”字段移字段移至汇总字段,并在下至汇总字段,并在下方组合框中选择方组合框中选择“计计数数”,用于统计各院,用于统计各院系的报考人数。系的报考人数。.6/23/2024565 基于向导创建报表基于向导创建报表n(8)组排序组排序在在“组排序组排序”对对话框中,可选择话框中,可选择要排序的组以及要排序的组以及排序类型。本例排序类型。本例中选择中选择“将排序将排序的组的组”为为YXSM,“组排序类型组排序类型”为为“无无”。.6/23/2024575 基于向导创建报表基于向导创建报表n(9)图表图表在在“图表图表”对话对话框可选择汇总分框可选择汇总分布情况的图形显布情况的图形显示方式。在本例示方式。在本例中选择中选择“饼图饼图”,其他采用默认,其他采用默认设置,即以设置,即以“饼饼图图”形式显示各形式显示各院系的报考人数院系的报考人数情况。情况。.6/23/2024585 基于向导创建报表基于向导创建报表n(10)记录筛选记录筛选用于设置记录显用于设置记录显示的条件。本例示的条件。本例中选择中选择“csrq”作为筛选字段,作为筛选字段,条件为条件为“大于等大于等于于”“19800101”,仅显示,仅显示“80”后考生。后考生。.6/23/2024595 基于向导创建报表基于向导创建报表n(11)报表样式报表样式用于设置报表显用于设置报表显示的样式。在示的样式。在“可用样式可用样式”列表列表框中列出了系统框中列出了系统提供的样式,选提供的样式,选择的样式可在择的样式可在“预览预览”框中预览。框中预览。本例中选择本例中选择“前前导分隔导分隔”作为报作为报表样式。表样式。.6/23/2024605 基于向导创建报表基于向导创建报表n至此,报表向导结束。选择至此,报表向导结束。选择“主报表主报表 预览预览”或直接运行或直接运行表单,即可查看报表效果,如图所示。表单,即可查看报表效果,如图所示。.6/23/2024615 基于向导创建报表基于向导创建报表n基于向导创建的报表:基于向导创建的报表:采用了直接连接数据源的方式;采用了直接连接数据源的方式;报表样式固定。报表样式固定。n总之,不够灵活。一般可作为预设计,即在此基总之,不够灵活。一般可作为预设计,即在此基础上进一步修改。础上进一步修改。n可以借助报表设计器提供的控件工具和各类专家可以借助报表设计器提供的控件工具和各类专家设计更为复杂的报表。设计更为复杂的报表。.6/23/2024629.3 水晶报表的设计水晶报表的设计nCrystal Reports for VS2005包含了各种专家,用于帮助开发人员创包含了各种专家,用于帮助开发人员创建多种类型的报表、准备图形、设置格式、连接数据源、对数据进行建多种类型的报表、
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!