水晶报表CrystalReports.ppt
水晶报表,水晶报表(Crystal Reports)是一款商务智能软件,主要用于设计及产生报表。水晶报表是业内专业的报表系统,它除了强大的报表功能外,最大的优势是实现了与绝大多数流行开发工具的集成和接口。水晶报表拥有可视化的设计环境,提供直观的、可拖放对象的、交互性用户界面,公式语言强大,内置超过了160种函数和操纵符,以控制报表的格式、复杂的逻辑和数据挑选,是一个强大的报表设计工具。,水晶报表(Crystal Reports),水晶报表与Visual Studio,水晶报表已被Microsoft Visual Studio 2005和Microsoft Visual Studio 2008等VS环境集成在一起,是 Visual Studio 环境(包括 Visual Studio.NET)中用于创建报表的标准工具。利用水晶报表可以创建交互式的优质报表不仅能为 WinForms 和 WebForms 创建报表,还能将报表作为Web 服务存放在 Web 服务器上“水晶报表设计器”界面用于创建并格式化报表,大大减少代码编写量,水晶报表的基本结构,水晶报表的基本结构主要由水晶报表引擎(Crystal Report Engine(CREngine.dll))和水晶报表设计器(Crystal Report Designer(CRDesigner.dll))共同构成。水晶报表引擎以水晶报表浏览器样式呈现,通过它可以完成一些任务,如在报告文件中合并数据,转换报告为其它格式等。水晶报表文件就是在水晶报表设计器中创建的,在设计器中你可以设计标题,插入数据,公式,图表,子报表等。,水晶报表的主要功能,水晶报表主要功能是以报表的形式展现数据。通过对报表文件中的页眉、页脚以及详细资料区域的设置,获得与实际业务纸质报表相同格式的电子报表,并在Windwos应用程序或Web应用程序中输出这些由计算机产生的统计分析数据。,水晶报表的功能,使用各种资料来源制作报表 享用功能强大的设计与格式设定功能 结合弹性的分析 最快的报表处理能力 灵活的报表传送作业 可扩充的Web报表制作 功能强大的报表制作工具,可将报表制作功能与Web及Windows应用程序结合。支持应用程序的强大报表制作功能 享用前所未有的弹性与操控能力 完成应用程序资料的报表 Crystal Reports 用于处理数据库,帮助用户分析和解释重要信息。使用 Crystal Reports 可以方便地创建简单报表,同时它也提供了创建复杂或专用的报表所需的整套工具。,创建所能想象的任何报表,Crystal Reports 几乎可以从任何数据源生成需要的报表。内置报表专家在生成报表和完成一般的报表任务过程中,会一步一步地指导进行操作。报表专家通过公式、交叉表、子报表和设置条件格式帮助表现数据的实际意义,揭示可能被隐藏掉的重要关系。如果文字和数字确实不够充分,则用地理地图和图形进行形象的信息交流。,动态交叉表,支持的数据源,数据库格式,例如:Sybase,IBM DB2,Ingres,Microsoft Access,Microsoft SQL Server,MySQL,Interbase 与 Oracle Btrieve 数据表如 Microsoft Excel 文本文件 HTML XML文件 群件应用软件如Lotus Notes,Microsoft Exchange 与 Novell GroupWise SAP:BW,Info Sets,Tables,and Business Objects Universes 通过网络服务ODBC,JDBC 或者 OLAP可访问的任意数据源。,水晶报表的优点,VS.Net水晶报表有下面一些主要的优点:快速的报表开发;能够导出成为复杂的交互性图表;可以与其它控件一起在WinForm和WebForm中使用;能够动态地将报表导出成为.pdf,.doc,xls,html,rtf等多种格式;,水晶报表的执行模式,水晶报表取数据可以使用下面的方法实现:Pull 模式(拉模式):被请求时,水晶报表直接根据指定的驱动连接数据库然后组装这些数据,这种方式不需要编写任何代码。Push 模式(推模式):开发者自己编写代码连接数据并组装DataSet,同时将它传送至报表。在这种情况下,通过使用连接共享以及限制记录集合的大小,可以最大化使用报表的性能。,水晶报表的类型,(1)Strongly-typed 报表:当你将报表文件加入到项目中去时,它就变成了一个了“strongly-typed“报表。在这些情况下,你将拥有直接创建报表的对象的权力,这将减少一些代码并且能够提供一些性能。(2)Un-Typed 报表:这里的报表并不直接包含在项目中,因此称为un-typed 报表。在这种情况下,你不得不使用水晶报表的”ReportDocuemt“对象建立一个实例,并且”手动“地调用报表。,水晶报表 VS BIReport报表,支持大多数流行的开发语言,经过将 Crystal Reports 的报表处理功能整合到本身的数据库应用程序中,可以方便地在任何应用程序中添加报表。水晶报表拥有可视化的设计环境,提供直观的、可拖放对象的、交互性用户界面,公式语言强大,内置超过了160种函数和操纵符,以控制报表的格式、复杂的逻辑和数据挑选。,水晶报表的优点:,(1)应用视图对系统效率的影响 水晶报表因为设计模型的限制,就使得有一些复杂报表很难实现。必须编写大量的视图,经过视图链接到数据源,但视图会对系统效率产生影响。(2)对相对复杂报表的支持有限(3)对于数据很多的报表很难完全展现,打印也很困难。,水晶报表的不足:,我的水晶报表 1,我的水晶报表 2,以上报表在水晶报表中实现的基本步骤(Push模式),(1)设计一个DataSet(2)创建一个.rpt文件同时将其指定给上一步建立的DataSet。(3)绘制报表样式(4)在窗口页面上拖放一个CrystalReportViewer 控件同时将其与前面的.rpt文件建立联系。(5)在代码中访问数据库并把数据存入DataSet(6)调用DataBind方法。,以上报表在BI中实现的基本步骤,(1)新建报表(2)画表样(3)取指标(4)设浮动表元或者固定表元(5)定义报表参数 和过滤条件(6)表头表尾(7)计算和保存,