开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

6-1 水晶报表技术(上)

简介:
+关注继续查看
本章内容
6-1  水晶报表技术简介
6-2 水晶报表的主要功能
6-3 水晶报表的执行模式
本章将重点介绍“水晶报表”(Crystal Report),其主要功能是以报表的形式表现数据。通过对报表文件中的页眉、页脚以及详细资料区域的设置,获得与实际业务纸质报表相同格式的电子报表,并在Windwos应用程序或Web应用程序中输出这些由计算机产生的统计分析数据。
u
n理解水晶报表的作用和优点
n使用水晶报表专家创建水晶报表
n理解水晶报表的推拉模式设计
n在窗体中使用水晶报表和报表绑定
n学习水晶报表与数据库的综合复杂开发

6-1  水晶报表简介

在很多企业日常运营业务中,经常会出现一些报表业务处理,如某部门的薪金详细信息报表就属于财务报表的一种,这些报表的输出要求有一定的规格制式,数据的处理要求符合业务逻辑的要求。如表6-1所示为某部门的薪资表
Allen John
技术部
分析员
10000
David Blake
销售部
销售员
3500
Jack Turner
办公室
行政人员
4200
BinaryReader
办公室
行政人员
4200
Mark Lee
销售部
经理
12000
Chan Cho
销售部
销售员
3500
Susan Jones
办公室
行政人员
4200
Scott William
销售部
销售员
3500
Adam Johns
销售部
销售员
3500
6-1  部门薪资表
如果转换成为按照员工所在的部门进行薪资统计工作(如表6-2所示),那么有关人员就需要手动计算每个部门的总薪金,依次填写统计后的数据。这种方式的缺点是准确性地,数据容易受到人为因素影响。
Susan Jones
办公室
行政人员
24600
Jack Turner
行政人员
BinaryReader
行政人员
Mark Lee
销售部
经理
26000
Chan Cho
销售员
David Blake
销售员
Scott William
销售员
Adam Johns
销售员
Allen John
技术部
分析员
10000
6-2  部门薪资统计表
水晶报表出现的目的,就是使得计算机参与到办公系统业务流程中,使得电子水晶报表变为格式化且有条理的数据记录表示方式。
水晶报表可以由很多的方法得到,其中一个就是使用VS.Net来创建,它提供了非常丰富模型以使我们能够在运行时操作属性和方法。如果你正在使用VS.Net开发.Net程序,那么你就不需要再安装其它软件了,因为水晶报表已经内嵌在VS.Net中了。

1.水晶报表的优点

VS.Net水晶报表有下面一些主要的优点: 
n 快速的报表开发;
n 能够导出成为复杂的交互性图表;
n 可以与其它控件一起在WebForm中使用;
n 能够动态地将报表导出成为.pdf,.doc,xls,html,rtf等多种格式;

2.水晶报表主要控件

VS.Net水晶报表的主要控件包括以下四个: 
1)水晶报表引擎(Crystal Report Engine (CREngine.dll)
    通过它可以完成一些任务,如在报告文件中合并数据,转换报告为其它格式等。也正是因为报告引擎的作用,才可以将Asp.Net中的水晶报表转换成为普通HTML格式水晶报表设计器(Crystal Report Designer (CRDesigner.dll)。水晶报表就是在设计器中创建的,在设计器中你可以设计标题,插入数据,公式,图表,子报表等。 
2.rpt报表文件
    执行报表中的第一步就是在水晶报表设计器接口创建此报表,在默认安装中微软已经提供了一些现成的.rpt例子。
3Data Source
    .rpt文件取得数据库的方法取决于你方法的选择,你能选择让水晶报表自己选择数据而不使用任何代码或者也可以选择手动的组装DataSet,然后再将其传送到报表文件。
4)水晶报表查看控件
    水晶报表查看控件Crystal Report Viewer web form Control (CRWebFormViewer.dll)是一个WinForm控件,可以将它看成是一个在WinForm页面中存放报表的容器。

6-2  水晶报表的基本操作

6-2-1 水晶报表的基本功能

水晶报表的主要功能可以包括四个方面的内容:

1.借助交互式界面更加容易地创建报表

VS2005有专门的水晶报表设计工具(如图6-1),在工具箱的Crystal Reports中,我们可以看到水晶报表主要有两个基本控件:CrystalReportViewerReportDocument,分别表示水晶报表浏览器控件和水晶报表设计控件。通过这两个常用控件,我们可以很轻松的完成报表的创建工作。
6-1 工具箱中的Crystal Reports控件集合

2. 运行时数据的自定义功能

水晶报表不仅仅可以对于来自数据库的单表数据进行定制式的显示,同时可以允许对复杂的数据来源(如存储过程数据,视图数据,分布式数据)进行特定的设计工作,具有非常强大的数据表现能力。同时其界面设计方便,适用于不同报表格式的开发设计。

3.水晶报表的主要特性和结构

1)水晶报表的主要特性包括以下几个方面:
n快速的报表开发
n能够导出成为复杂的交互性图表
n可以与其它控件一起在WebForm中使用
n能够动态地将报表导出成为.pdf,.doc,xls,html,rtf等多种格式
2)水晶报表的基本结构
水晶报表的基本结构主要有水晶报表引擎(Crystal Report Engine (CREngine.dll))和水晶报表设计器(Crystal Report Designer (CRDesigner.dll))共同构成。(如图6-2所示)
水晶报表引擎以水晶报表浏览器样式呈现,通过它可以完成一些任务,如在报告文件中合并数据,转换报告为其它格式等。也正是因为水晶报表引擎的作用,才可以将水晶报表转换成为.pdf,.doc,xls,html,rtf等多种格式。
水晶报表文件就是在水晶报表设计器中创建的,在设计器中你可以设计标题,插入数据,公式,图表,子报表等。
6-2 Crystal Reports的基本结构

6-2-2 案例学习:打开并查看水晶报表文件

本次实验目标是通过打开一个RPT文件,将水晶报表显示在水晶报表查看器之内。
u实验步骤1
新建一个WinForm窗体,从工具箱的Crystal Reports中拖放一个CrystalReportViewer控件到窗体上,再放置一个Button控件用来打开一个RPT(报表文件)文件,该RPT文件将在CrystalReportViewer控件内显示出来。基本界面如图6-3所示。
6-3 WinForm中使用水晶报表查看器设计界面
u实验步骤2
用鼠标双击Button控件,进入Button控件的鼠标单击事件编码,并键入如下代码:
        private void button1_Click(object sender, System.EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();//建立一个打开文件对话框对象
            dlg.Title = "打开水晶报表文件";//命名该打开文件对话框对象标题
            dlg.Filter = "水晶报表文件(*.rpt)|*.rpt|所有文件|*.*";
            //命名该打开文件对话框对象打开文件类型只能够是rpt类型的文件
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                //如果打开文件对话框用户选择确定
                crystalReportViewer1.ReportSource = dlg.FileName;
                //则将该RPT文件作为水晶报表浏览器的浏览文件
            }
}
 




本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/231836,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
springboot 2.0 集成elk 7.6.2
springboot 2.0 集成elk 7.6.2
7 0
aix5.1 5.2 5.3 6.1 7.1运维技术总结
++++++++++++++++++++++++++++ +  Ruiy 20014-10 zz + +Technology Area; + Tel:150 55198367 +  QQ:5160 59158 +bull open source software archive for aix   http://www.
935 0
解决:Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6.i686
场景:  Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6.i686 处理办法:   1>  vi /etc/yum.repos.d/CentOS-Debuginfo.repo 修改enabled=0为 enabled=1    2>  yum install nss-sof
3367 0
水晶报表
水晶报表之Visual C++2003简单使用方法 1.加入命名空间#import "C://Program Files//Common Files//Crystal Decisions//1.
701 0
安装“乌图邦 6.1 ubuntu”。(引导)
复制boot文件夹grldr文件到c盘根目录; 参照boot.ini.txt修改c盘根目录boot.ini文件; 复制swap.fs&ubuntu.fs到fat32盘根目录。 分别在swap.fs&ubuntu.fs中保留一个swap_1024Mb.bz2&fs_1024Mb.bz2并重命名为swap&fs。
946 0
在C#“.NET技术”中选择正确的集合进行编码
  要选择正确的集合,我们首先要了解一些数据结构的知识。所谓数据结构,就是相互之间存在一种或多种特定关系的数据元素的集合。上海网站建设结合下图,我们看一下对集合的分类。   集合分类   在上图中,可以看到,集合总体上分为线性集合和非线性集合。
721 0
+关注
20377
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载