crystal,reports
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/25 07:20:22 字数作文
篇一:Crystal培训教程(初级)
Crystal Report培训教程
第一章、基本概念
1.1关于Crystal Reports
Crystal Reports 的设计用途是,使用数据库来帮助您分析和解释重要的信息。Crystal Reports 可以方便地创建简单的报表,并且,它还拥有生成复杂报表或专用报表所需的一整套工具。
创建所能想象的任何报表
Crystal Reports 几乎可以从任何数据源生成您所需要的报表。内置报表专家在您生成报表和完成一般的报表任务过程中,会一步一步地指导您进行操作。报表专家通过公式、交叉表、子报表和设置条件格式帮助表现数据的实际意义,揭示可能被隐藏掉的重要关系。如果文字和数字确实不够充分,则用地理地图和图形进行形象的信息交流。
将报表扩展到 Web
Crystal Reports 的灵活性并未停留在创建报表这一功能上--您可以用各种各样的格式发布报表,包括在Microsoft Word 和 Excel,电子邮件甚至到 Web。高级的 Web 报表功能允许工作组中的其他成员在他们自己的 Web 浏览器中查看或更新共享报表。 将报表并入应用程序
通过将 Crystal Reports 的报表处理功能整合到自己的数据库应用程序中,应用程序和 Web 开发人员可以节省开发时间并满足用户的需求。 Crystal Reports 支持大多数流行的开发语言,可以方便地在任何应用程序中添加报表。
1.2安装Crystal Reports(略)
1.3模板的几个要素
熟悉制作模板的几个要素: 选择数据源 、设置节 、 选择组 、 组排序 、记录排序 、汇总
a、 节专家
Crystal Report 把报表版面分为七大部分,即七节,分别为报表页眉、页眉、组页眉、详细
资料、组页脚、页脚、报表页脚。
当第一次开始创建报表时, Crystal Reports 在 “ 设计 ” 选项卡中自动创建五个区域。
?
?
?
?
? 报表页眉 这一节通常用于显示报表标题和其他希望在报表开头出现的信息。它还可以用于图表和交叉表,它们包含整个报表的数据。 页眉 这一节通常用于显示希望出现在每页顶部的信息。这可以包括章名、文档名称和其它类似信息。该节还可以用于显示报表上字段上方的字段标题。 详细资料 这一节用于报表的正文,并且每个记录输出一次。大量报表数据通常出现在该节中。 报表页脚 这一节用于显示希望在报表末尾只出现一次的信息(例如总计),以及显示包含针对整个报表的数据的图表和交叉表。 页脚 这一节通常包含页码和任何其他希望出现在每页底部的信息。
如果将组、摘要或小计添加到报表,则本程序创建另外两个节:
?
? 组页眉 这一节通常保存组名字段,也可以用于显示包含组特定数据的图表或交叉表。它在组的开始打印一次。 组页脚 该节通常保存汇总数据(如果有),也可以用来显示图表或交叉表。它在
组的末尾打印一次。
当添加了组、汇总或小计时, “组页眉”区域正好出现在“详细资料”区域上方,而“组页脚”区域正好出现在“详细资料”区域下方。 如果建立其它组,则本程序在“详细资料”区域和现有“组页眉”及“组页脚”区域之间创建新的组区域。 与原有的区域类似,每个新添加的区域可以包含一个或多个节。默认情况下,它们都只包含一个节。
b、 组排序专家
使用 “ 组排序专家 ” 可标识最前或最后几组(例如,客户报表中客户最多 / 最少的省)。还可以标识最高或最低百分比
c、 记录排序专家
使用 “ 记录排序专家 ” 命令可以更改记录在报表中出现的顺序。可以添加和删除排序字段,并且可以定义报表数据的排序顺序(升序或降序)。然而,不能使用该命令删除组排序。 d、 汇总
汇总字段可测定给定字段中一组值的总和、平均值、最大值、最小值或值的计数。汇总字段与小计十分相似,它将数据按规定进行分组,然后执行所要求的计算/决策。
第二章、Crystal Report 模板制作
建立报表步骤简介
以下是PIM模块的一个报表实例,连的是SYBASE数据库,通过以下实例大致可以了解和掌握作报表摸板的一个基本流程和步骤
从菜单栏‘文件-〉新建-〉‘作为空白报表’按‘确认’后出现如下图
选择创建新数据源连接
选择数据库中的表
(如果有多个表要注意几个表之间的关联)
加入数据库表后并设置报表页眉的界面如下
将数据分组
菜单栏 :报表-〉组专家 再从下图中选择报表的分组字段
选择分组字段后还有注意按组字段的排列顺序,如果是时间分组的话还要另外注意分组的粒度(CrystalReport的时间粒度含有年、月、周,天、小时、分钟等)
篇二:crystal reports函数大全
汇总函数的条件
以下是每个汇总函数的条件列表:
布尔型条件 ?
?
?
?
?
?
? 任何更改 更改为“是” 更改为“否” 对每个“是” 对每个“否” 对下一个“是” 对下一个“否”
每天
每周
每两周
每半月
每月
每季
每半年
每年
每秒
每分钟
每小时
上午/下午 日期条件 ? ? ? ? ? ? ? ? 时间条件 ? ? ? ?
Sum
Basic 语法和 Crystal 语法。
重载 Sum (fld) ? Sum (fld, condFld)
? Sum (fld, condFld, cond)
? Sum (x) ?
参数 fld 是可由函数求值的任何有效的数据库字段或公式字段。
? condFld 是用于对 fld 中的值进行分组时所依据的字段。
? cond 是表明 condFld 分组类型的字符串。只能在 condFld 是一个日期、时间、日期?
时间或布尔字段时才指定此参数。有关此参数有效字符串的详细信息,参见汇总函数的条件。
? x 是可由正在使用的函数求值的数字或货币值的数组。
返回
数字
操作
使您能够添加报表中出现的值。例如:
?
?
?
? 如果销售报表包含一个显示每张订单金额的字段,则可以计算报表上出现的所有订单的总和(总计和)。 如果对订单进行分组(例如,按订单所来自的省份对其分组),则可以计算每组订单金额的总和(在本例中,为每个省)。 如果将订单按日期或布尔值分组(例如,对订单按其发出的月份进行分组),则可以根据日期字段或布尔字段中的特定变化来计算每组订单金额的总和(在本例中,为每月)。 如果指定单个值的集合,则也可以计算该集合中值的总和。有关这种汇总的详细信息,参见数组
汇总函数。 示例
下列示例适用于 Basic 语法和 Crystal 语法:
Sum({file.QTY})
计算 QTY 字段中所有值的总和。
Sum({订单.金额}, {订单.客户 ID})
对“金额”字段中每个订单组的订单求和(总计)。每当“客户 ID”字段中的值变化
时,订单都将进行分组。
Sum({订单.金额}, {订单.日期}, "monthly") % Sum({订单.金额 })
对“金额”字段中的值按月分组,并计算每个月组中值的总和相对于整个报表值的
总和的百分比。
Sum([{file.AMOUNT}, {file.PRICE}, {file.COST}])
“金额”、“价格”和“费用”字段中值的总和。
注意: 在公式中使用此函数强制在打印时对公式求值。有关求值时间考虑因素的详细信息,参见求值时
间。
Average
Basic 语法和 Crystal 语法。
重载
Average (fld)
? Average (fld, condFld) ?
? Average (fld, condFld, cond) ? Average (x)
参数 fld 是可由函数求值的任何有效的数据库字段或公式字段。
? condFld 是用于对 fld 中的值进行分组时所依据的字段。
? cond 是表明 condFld 分组类型的字符串。只能在 condFld 是一个日期、时间、日期?
时间或布尔字段时才指定此参数。有关此参数有效字符串的详细信息,参见汇总函数的条件。
? x 是可由正在使用的函数求值的数字或货币值的数组。 返回
数字
操作
使您能够对报表中出现的值求平均值。例如:
?
?
?
? 如果销售报表包含显示每个订单金额的字段,则可以计算该报表上出现的所有订单的平均值(总计平均值)。 如果将订单进行分组(例如,对订单按其来自的省份进行分组),则可以计算每组订单的平均金额(在本例中,为每个省) 如果将订单按日期或布尔值分组(例如,按订单发出的月份分组),则可以根据日期字段或布尔字段中的特定变化来计算每组订单的平均金额(在本例中,为每月)。 如果指定单个值的数组,则也可以计算该集合的平均值。有关这种汇总的详细信息,参见数组汇
总函数。 示例
下列示例适用于 Basic 语法和 Crystal 语法:
Average({订单.订单金额})
计算“金额”字段中所有值的平均值。
Average ({订单.订单金额}, {客户.客户 ID})
得到向每个客户销售的平均金额。
下列示例适用于 Crystal 语法:
Average ([10,12,32,48])
计算一个常量数组中值的平均值。
注意: 在公式中使用此函数强制在打印时对公式求值。有关求值时间考虑因素的详细信息,参见求值时
间。
StdDev
Basic 语法和 Crystal 语法。 重载
StdDev (fld)
? StdDev (fld, condFld)
? StdDev (fld, condFld, cond)
? StdDev (x) ? 参数 fld 是可由函数求值的任何有效的数据库字段或公式字段。
? condFld 是用于对 fld 中的值进行分组时所依据的字段。
? cond 是表明 condFld 分组类型的字符串。只能在 condFld 是一个日期、时间、日期?
时间或布尔字段时才指定此参数。有关此参数有效字符串的详细信息,参见汇总函数的条件。
? x 是可由正在使用的函数求值的数字或货币值的数组。 返回
数字
操作
使您能够得到报表中一组值的标准偏差。例如:
?
?
?
? 您可以计算某个字段中所有值的总计标准偏差。 您可以计算某个组内所有值的标准偏差(例如,对销售按来自的省进行分组)。 售按其发生的月份分组)。 如果指定单个值的集合,则可以计算该集合中值的标准偏差。有关这种汇总的详细信息,参见数
组汇总函数。 您可以计算其分组是由日期或布尔字段中的更改进行控制的组内所有值的标准偏差(例如,对销
示例
下列示例适用于 Basic 语法和 Crystal 语法:
StdDev({file.RESULTS})
计算“结果”字段中所有值的标准偏差。
StdDev({订单.金额}, {订单.客户 ID})
计算“订单”字段每组订单中订单的标准偏差。每当“客户”字段的值变化时,订单
都将进行分组。
StdDev({file.RESULTS}, {file.DATE}, "daily")
计算“结果”字段中每组试验测试结果的偏差。每当“日期”字段中的值更改为新的
日期时,测试结果都将进行分组。
StdDev({file.SCORES}, {file.NATURALIZED}, "any change")
根据测试者是否属于某一国籍,对“分数”字段中的值进行分组,并计算每组分数
的标准偏差。
下列示例适用于 Crystal 语法:
StdDev([({file.QTY1} * {file.PRICE1}),({file.QTY2} * {file.PRICE2}),({file.QTY3}
* {file.PRICE3}), ({file.QTY4} * {file.PRICE4})])
返回 36.60,其中 Qty1 = 2,Price1 = 10.00,Qty2 = 2,Price2 = 2.00,Qty3
= 10,Price3 = 3.00 及 Qty4 = 8,Price4 = 11.00。
注释
标准偏差是使用如下方法计算出来的:
?
?
?
? ? 计算样本中项目的平均值。 从每个项目的值中减去平均值。 求每个项目差值的平方。 将样本中所有项目的差值平方相加。
比较。 将总和除以示例中项目数减 1 (N - 1)。结果为方差。将此步与 PopulationStdDev 进行
? 计算方差的平方根以得到标准偏差。
注意: 在公式中使用此函数强制在打印时对公式求值。
有关求值时间考虑因素的详细信息,参见求值时间。
PopulationStdDev
Basic 语法和 Crystal 语法。
重载
PopulationStdDev (fld)
? PopulationStdDev (fld, condFld)
? PopulationStdDev (fld, condFld, cond)
? PopulationStdDev (x) ?
篇三:水晶报表- SAP Crystal Reports的报表工具你了解吗?
水晶报表- SAP Crystal Reports
SAP金牌服务商北京奥维奥解析水晶报表- SAP Crystal Reports 水晶报表----SAP Crystal Reports
水晶报表(CrystalReports)是目前国际上功能最为强大、最流行的报表软件。作为报表行业的标准,CrystalReports具有以下功能:与企业任何数据源连接、建立业务逻辑的丰富功能、复杂的报表格式和结构、高精度的网络输出和打印输出。
水晶报表(CrystalReports)作为全球通用的报表工具,已经被360家IT厂商OEM到自己的产品中,水晶报表(CrystalReports)可帮助您快速创建灵活、特性丰富的报表,并将它们集成到Web和Windows应用程序中。它使您能够访问和格式化数据,利用全面的一套软件开发工具包(SDK)将报表嵌入到Java、.NET和COM应用程序中。
水晶报表(CrystalReports)的强大功能表现在:与企业任何数据源连接、建立业务逻辑的丰富功能、复杂的报表格式和结构、高精度的网络输出和打印输出等方面。
1. 水晶报表SAP Crystal Reports一次设计,任意实施
创建结构内容的关键是设计出一个单一的可以满足各种不同用户需要的内容。因此就需要与企业广泛的数据资源相连接(通常要将来自不同资源的数据放入到一个报表中),并以此为基础为用户提供一个信息概览。同时,创建业务逻辑、复杂的格式控制和针对不同用户的个性化的内容的创建还需要用到各种灵活的工具
2.水晶报表SAP Crystal Reports拥有世界标准
标准的工具的价值就在于它强化了产品本身的可用性。这些标准包括与工业标准有关的任何增值应用:大量的资源、大量的知识储备、与其它企业级软件供应商的合作和集成、易用的咨询和培训、第三方的书籍资料和文件等等。标准工具对于企业应用的成功起着很大的作用,特别是在技术支持和服务方面。 3.水晶报表易于使用、设计迅速的快速开发环境
产品进入市场的时间和维护工作是IT企业如何降低成本、提高生产率和更好的满足市场需求的关键因素。报表设计工具必须通过丰富的功能、易用性、报表的快速生成来达到以上的目的。
Crystal Report(水晶报表)企业级专业报表软件具有与Office办公软件非常相似的软件界面,使报表设计开发人员能够快速上手,对报表设计中最为常用的筛选、排序、分组、图表、突出显示等操作均提供相应的向导式界面,并且向导均为可重复进入式,同时提供全中文的联机帮助文档和提示窗口。
水晶报表(Crystal Report)支持二次筛选数据、复杂交叉表和交互式排序。这些功能一方面为报表开发人员提供很大的便利,另一方面也帮助日常的业务报表用户更方便的浏览数据,并从报表中快速导航到有价值的信息。
水晶报表(Crystal Report支)持级联参数的应用,用户可以快速从层级关系中跳到需要筛选的条件。这些级联参数关联到的数据库列,同时也可作为值列表存放在平台上,为其它的报表用户提供共用。 水晶报表(Crystal Reports) 使报表设计人员能够从更广泛的数据访问、设计环境的增强、以最大程度地提高工作效率为核心的许多新特性中受益匪浅。最新的XML、 JDBC、 DB2和Microsoft Exchange驱动程序意味着,用户总是可以在开放的标准下工作,从最新的后端创新成果中获益。由于将语义层作为了一种本地数据源。
水晶报表(Crystal Reports)还使企业能够充分利用他们在获专利的Business Objects(商务智能)语义层中所做的投资。这意味着,报表设计人员可以根据以前只有BusinessObjects Web Intelligence等客户端工具才拥有的元数据,创建和分发格式化程度很高的报表。
水晶报表(Crystal Reports)设计环境中最新的RTF格式导出功能,可以让用户在任意的标准文字处理应用程序中修改报表。甚至可以让用户更方便地创建结构分组更完善的总结报告或企业报表,同时基于自选变量的最新自动化图表创建功能,有利于避免靠猜想来创建图表。利用这些增强特性,报表设计人员能够尽可能地提高工作效率。而新的工作台创作环境可帮助报表设计人员保持报表的有条不紊。在设计和发布到Web上之前,设计人员只需一个步骤就可以方便地预览报表。他们还可以根据新的动态和级联提示来创建报表,使报表接收者能够在需要的时候准确找到他们所需要的信息。
利用水晶报表(Crystal Reports),设计人员可以从个人和企业数据源中获得他们所需要的数据。他们可以灵活地控制数据显示和格式化的方式。同时,他们还可以将这些数据转换为动态信息,无需烦琐、耗时的手工编码。
4.水晶报表SAP Crystal Reports实现全面集成
水晶报表Crystal Reports提供了强大的创作功能、广泛的分发功能和灵活的集成功能。全球《财富》1000强企业里使用了数十亿的Crystal报表(.rpt文件),这种报表是市场上获得最普遍认可的报表工具。Crystal Reports可帮助用户快速创建灵活、特性丰富的报表,并将它们集成到Web和Windows应用程序中。它使用户能够访问和格式化数据,利用全面的一套软件开发工具包(SDK)将报表嵌入到Java、.NET和COM
应用程序中。实际上,Crystal Reports已经成为了500多家独立软件开发商的报表标准,并被嵌入到Microsoft
、 Borland、BEA、 PeopleSoft及IBM等企业的领先软件中。
当在BusinessObjects Intelligence Platform (BOE) 商务智能平台中使用时,用户可以将Crystal报表发布到Web上,在门户和应用程序中查看,并使用标准化的信息基础设施来管理和部署这些报表。利用
企业可以在Windows、BusinessObjects Intelligence Platform (BOE) , Unix和Linux平台上部署Crystal
Reports。
5.水晶报表SAP Crystal Reports可以支持广泛的数据源
水晶报表(Crystal Report)能够支持各种类型的关系数据库和文件作为报表开发设计的数据源,种类超过35种,包括Oracle、DB2、Sybase、Microsoft SQL Server、NCR Teradata等,以及Excel、Access等桌面数据库,还能支持TXT、CSV、XML文件格式的数据源。Crystal Report 设计软件中的“数据库专家”能够指引设计者使用建立不同的数据连接。在报表中还能够使用来自不同数据库的数据。
水晶报表(Crystal Report)能够访问OLAP Server,将其作为数据源;在BO产品体系中,水晶报表(Crystal Report)还支持语义层或者业务视图作为数据源,因语义层是BO即席查询软件Web Intelligence的数据源基础,因此Crystal Report具有与即席查询的紧密集成特性。
6.复杂报表的支持能力和报表的灵活发布
迄今为止,水晶报表(Crystal Report)是开发中国式复杂报表最好的工具,在国内各行业均有广泛的应用。用Crystal Report开发的报表不仅支持复杂格式,更能够图文并茂地展现,对数据类型和格式支持广泛,报表结果完全是所见即所得,实现报表的屏幕显示与打印效果完全一致。
水晶报表(Crystal Report)以灵活的报表方式展现企业方方面面的数据,展现的方式要求灵活多样,在查看报表时,用户可以对报表上的图形和数据表格进行点击操作,从而实现钻取和跳转功能;对于异常数据,还能够以特殊格式(通过字体、颜色)等突出显示,使用户更加容易理解报表中的数据内容。 水晶报表(Crystal Report)展现能力灵活多样,为企业不同层面的用户都提供了丰富的展现形式,对于领导型报表,水晶报表(Crystal Report)提供雷达图、仪表盘等图形展示方式以及数据突出显示功能,使高层领导以直观清晰的方式查看企业关键指标的变动情况,并发现异常变动的指标项。
对于普通报表,水晶报表(Crystal Report)支持各种复杂格式,满足全省各级、各部门的统计报表,报表年报、月报等各种形式。
7.水晶报表SAP Crystal Reports可以实现丰富的图表功能
水晶报表(Crystal Report)
具有最为丰富的图形功能,包括常规的柱状图、曲线图、饼图等,提供仪表盘、雷达图、交通灯等更人性化的图形,并且可以支持各种复杂组合图形的制作,包括叠加的折线图、柱状图与趋势图等。
篇四:如何在VS2010使用水晶报表组件
VS2010不在像VS2008及以前版本那样支持
Crystal Report了,不过SAP公司还是很给劲的,随即发布了CR for2010的免费开放版。虽然如此,但刚上手使用的朋友们可能还是很费周折。下简述使用。
如果只是为了能够在VS2010中运行有报表的程序,则可以简单的将运行程序所需的dll引入项目即可。如果你的机器没有这些组件可以来这下载:点我。一般只需要引用
CrystalDecisions.CrystalReports.Engine.dll、CrystalDecisions.Shared.dll和
CrystalDecisions.Web.dll即可。下载后将其放入web/bin下,然后引用它们就可以了。
上述只适用于运行他人编写的有关报表的项目,做为开发者则还需进行其他工作。
VS2010不在支持Crystal report的设计,我们下载SAP公司的免费版(for VS2010)来设计即可(设计过程同在VS2008中没什么区别,只是环境独立了)。随后将我们设计的第一个报表文件crTeacherWorkLoad.rpt文件拷贝到项目App_Data中。
我们使用CryStalReportViewer控件来显示刚才设计好的rpt文件。VS2010IDE工具箱中不包含该控件,如果你安装了CR for VS2010则可以使用如下方法来显示该控件:
如果没有此控件则可以直接将此控件的代码放入所需的aspx页面中,然后在这个aspx页面内注册此控件。
控件代码如下所示:
[xhtml]view plaincopyprint? 1. 2. AutoDataBind="true"DisplayGroupTree="false"Height="50px"Width="350px"/> DisplayGroupTree="false" Height="50px" Width="350px"/> 注册代码放到页面头头,代码如下所示: [xhtml]view plaincopyprint? 1. <%@ Register Assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" 2. Namespace="CrystalDecisions.Web"TagPrefix="CR" %> <%@ Register Assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" Namespace="CrystalDecisions.Web" TagPrefix="CR" %> 如此以来再有了前面的三个dll的引用,就可以使用此控件来显示所需要的报表内容了。显示过程代码如下所示: [c-sharp]view plaincopyprint? 1. //加载报表文件,设置报表源 2. ReportDocumentreportDocument = new ReportDocument(); 3. reportDocument.Load(Server.MapPath("../../App_Data/crTeacherWorkLoad.rpt")); 4. reportDocument.SetDataSource(DtAllTeacherWorkLoad);//);//DtAllTeacherWorkLoad是查询 出来的DataTable,其字段同rpt文件字段相同 5. 6. 7. CrystalReportViewer1.ReportSource = reportDocument; 8. //将数据库信息传递给报表 9. //定义水晶报表的数据库连接信息 10. ConnectionInfoconnectionInfo = new ConnectionInfo(); 11. string aservername, bDBName, cUserId, dPwd; 12. //获取服务器名、数据库名,登录名,密码 13. aservername = System.Configuration.ConfigurationManager.AppSettings["ServerName"]; 14. bDBName = System.Configuration.ConfigurationManager.AppSettings["DataBase"]; 15. cUserId = System.Configuration.ConfigurationManager.AppSettings["UserId"]; 16. dPwd = System.Configuration.ConfigurationManager.AppSettings["PassWord"]; 17. connectionInfo.DatabaseName = bDBName; 18. connectionInfo.UserID = cUserId; 19. connectionInfo.Password = dPwd; 20. connectionInfo.ServerName = aservername; 21. 22. //SetDbLoginForReport(connectionInfo); 23. 24. TableLogOnInfostableLogOnInfos = CrystalReportViewer1.LogOnInfo; 25. 26. foreach (TableLogOnInfotableLogOnInfo in tableLogOnInfos) 27. { 28. 29. tableLogOnInfo.ConnectionInfo = connectionInfo; 30. 31. } [csharp]view plaincopyprint? 1. //加载报表文件,设置报表源 ReportDocument reportDocument = new ReportDocument(); [csharp]view plaincopyprint? 1. reportDocument.Load(Server.MapPath("../../App_Data/crTeacherWorkLoad.rpt")); [csharp]view plaincopyprint? 1. reportDocument.SetDataSource(DtAllTeacherWorkLoad);//); [csharp]view plaincopyprint? 1. //DtAllTeacherWorkLoad是查询出来的DataTable,其字段同rpt文件字段相 同 CrystalReportViewer1.ReportSource = reportDocument; [csharp]view plaincopyprint? 1. //将数据库信息传递给报表 [csharp]view plaincopyprint? 1. //定义水晶报表的数据库连接信 息 ConnectionInfo connectionInfo = new ConnectionInfo(); string aservername, bDBName , cUserId, dPwd; [csharp]view plaincopyprint? 1. //获取服务器名、数据库名,登录名,密码 aservername = System.Configuration.ConfigurationManager.AppSettings["ServerName"]; [csharp]view plaincopyprint? 1. bDBName = System.Configuration.ConfigurationManager.AppSettings["DataBase"]; [csharp]view plaincopyprint? 1. cUserId = System.Configuration.ConfigurationManager.AppSettings["UserId"]; [csharp]view plaincopyprint? 1. dPwd = System.Configuration.ConfigurationManager.AppSettings["PassWord"]; [csharp]view plaincopyprint? 1. connectionInfo.DatabaseName = bDBName; connectionInfo.UserID = cUserId; [csharp]view plaincopyprint? 1. connectionInfo.Password = dPwd; connectionInfo.ServerName = aservername; [csharp]view plaincopyprint? 1. //SetDbLoginForReport(connectionInfo); [csharp]view plaincopyprint? 1. TableLogOnInfos tableLogOnInfos = CrystalReportViewer1.LogOnInfo; [csharp]view plaincopyprint? 1. foreach (TableLogOnInfo tableLogOnInfo in tableLogOnInfos) [csharp]view plaincopyprint? 1. { tableLogOnInfo.ConnectionInfo = connectionInfo; } 本文讲了三个小问题,一是如何引用所需dll显示报表文件,二是如何注册CrystalReportViewer控件,三是如何使CrystalReportViewer控件显示报表数据。至于报表文件(rpt)的设计则要学习Crystal Report 10软件的使用了! 篇五:Crystal+Reports+for+Eclipse--水晶报表eclipse插件 Crystal Reports for Eclipse--水晶报表eclipse插件 1、介绍 Crystal Reports for Eclipse用于和数据库共同工作,帮助你分析和理解那些重要的信息。Crystal Reports让你创建简单报表非常容易,它还带有全面的工具库帮助你建立各种复杂的或者专业的报表。 2、特点 (1)创建你所能想到的任何报表 Crystal Reports可以从任何实际的数据源来创建报表。公式集、交叉报表、子母表、带条件格式的表(通过对敏感数据采取相应措施)轻松创建;当文字和数字不足以说明信息时,提供各种图形或地图来 辅助说明。 (2)扩展面向Web的报表 Crystal Reports不仅能建立Word,Excel和E-mail格式的报表,还能建立面向Web的报表。 (3)合并报表进应用程序中 通过Crystal Reports,开发者很容易把各种报表集成进你的应用程序中或Web开发中。Crystal Re ports支持目前市面上大部分流行的开发语言。 2、在线帮助 在线帮助不但包括用于创建例如放置字段、格式化报表、记录排序等等格式的报表任务,还包括更 多的特定区域信息例如建立公式、访问各种不同的数据。 使用在线帮助作为你建立基本报表的一个参考,也可以作为在创建报表中的新概念的一个介绍。 3、报表知识 本节向你展示如何用Crystal Reports建立基本的报表。首先学习报表设计环境,其次是怎样选择数 据库表,把对象放进报表中,和怎样排序,编组,统计你的报表数据。 (1)建立新报表 有两种选择:一是从头建立报表(from scratch从零做起;白手起家);二是以已有的报表为模板, 据此建立报表。 (2)选择数据源和数据库字段 Crystal Reports通过提供The Database Explorer(数据库浏览器)和The Field Explorer(字段 浏览器)来让你轻松选择数据源和数据库字段。 (2.1)数据库浏览器提供了一个树状浏览视图来选择数据源。在视图中,可以选择如下三类数据源: 一是当前正在连接的数据源;二是近期访问过的数据源;三是已存在的数据源。 (2.2)字段浏览器用于在报表设计时插入、修改、删除字段和报表的大纲浏览。 字段浏览器展示了能增加到报表中的数据库字段的一个树视图(tree view)。它还展示了公式字段, 参数字段,运行时的统计字段等。 4、Crystal Reports for Eclipse的安装 Crystal Reports for Eclipse的安装需要以下组件: (1)eclipse 3.2 sdk, (2)emf, (3)gef, (4)jem, (4)wtp and xsd, (5)crystalreportsforeclipse-1.0.1.zip 以上四项必须具备才能安装第5项。 Crystal Reports for Eclipse有多种安装方式,如:ALL-IN-ONE方式,手动安装方式,网站更新方 式等。以下就介绍网站更新方式。 即是通过Eclipse的更新管理器来下载和安装Crystal Reports for Eclipse,步骤如下: 在Eclipse3.2下, (1)点击帮助(Help)菜单,选择Software Updates下面的Find and Install...; (2)选择Search for new features to install,并点击下一步(Next); (3)点击New Remote Site按钮; (4)将弹出一个新的向导; (5)键入“Business Objects Update Site”作为站点名,下面的URL键入“/products/dev_zone/eclipse; (6)点击OK按钮完成向导; (7)选择“Business Objects Update Site”和“Callisto Discovery Site”;然后点击“完成(Finish)” 按钮; (8)根据搜索结果,选择“Crystal Reports for Eclipse 1.0.1”,再选择右边的按钮“select Require d”,将自动选择Crystal Reports所需要的插件进行安装; (9)点击“Next”,浏览并接受许可证协议,点击“Next”,再点击“Finish”; (10)安装管理器将完成所有插件的安装,最后关闭eclipse并重新运行,一切OK。 注意:通过更新管理器安装的Crystal Reports都带有一个水印(Watermark),但是通过下面的方 法,这个水印可以自由移除。 如果你的报表中包含有“免费注册来移除水印”的提示(“Register for FREE at www.businessobject s.com/eclipse to remove this watermark”),可使用下面的方法来移除水印: (1)在http://diamond.businessobjects.com/node/462处下载键代码插件;(需注册) 该插件的文件名为:com.businessobjects.keycodes.jrc_11.8.0.v20060727.jar (2)把该插件保存到Eclipse的plugins目录下; (3)重启Eclispe,OK。 一旦键代码插件成功安装后,你将不再看到那个消息。 对任何Crystal Reports Web项目来说,都可以通过右键来更新键代码。步骤为: (1)Crystal Reports -> Update Keycode; (2)保存项目并重新部署。 使用eclipse在jsp上显示水晶报表(一)最简单例子 我使用的开发IDE是eclipse3.2,服务器是tomcat5.5 新建一个 Crystal reports web项目 在Target runtime选择apache tomcat v5.5 下一步中crystal reports java reporting component、dynamic web module、java是默认选中的,这三个是必需的,你也可添加struts,后面的设置会要求你添加struts的类库。在最后面默认加入示例的数据库和报表。 这样一个Crystal Reports web项目就建立了(上面的步骤应该是地球人都可以完成吧) 在里面有个CrystalReport1.rpt和CrystalReport_viewer.jsp 右键CrystalReport_viewer.jsp->运行方式->Run on Server,点击完成。 你应该就可以看到一个空的水晶报表了吧(为什么空的,当然啦,CrystalReport1.rpt本身是空的) 在看看sample reports文件夹里面,有4个示例的.rpt报表文件,右击其中任何一个,选中Crystal Reports-》创建查看器JSP,就会创建一个*-v(转 载于:wWw.SmHaIDA.cOM 海达 范文 网:crystal,reports)iewer.jsp文件。运行这个文件,你应该可以看到一个水晶报表了吧。 我想这对大部分人应该都是没有问题的,剩下的事情就是好好分析这个项目里面所有的东东了 ------------------------------------------------------------------------------------------------------------------------------------------------------- 上面什么东西是在任何项目中实现都必须的呢?为此我特意建立一个新的tomcat项目,最好建一个简单的jsp页面测试下你的tomcat项目是否可以正常运行. 通过本人的实验,在其他项目中JSP运行水晶报表的话,需要的类文件跟配置. 1. 添加一个用户库如 CrystalReports Libraries,把下面的*.jar添加进去 commons-collections-3.1.jar,commons-configuration-1.2.jar, commons-lang-2.1.jar, commons-logging.jar, Concurrent.jar, CrystalCharting.jar CrystalCommon.jar CrystalContentModels.jar CrystalDatabaseConnectors.jar CrystalExporters.jar CrystalExportingBase.jar CrystalFormulas.jar CrystalQueryEngine.jar CrystalReportEngine.jar CrystalReportingCommon.jar derby.jar icu4j.jar jrcadapter.jar jrcerom.jar keycodeDecoder.jar log4j.jar MetafileRenderer.jar msbase.jar mssqlserver.jar msutil.jar rasapp.jar rascore.jar ReportPrinter.jar rpoifs.jar serialization.jar URIUtil.jar webreporting.jar webreporting-jsf.jar xercesImpl.jar xml-apis.jar Xtreme.jar (总共36个jar,里面有一些在其他的库已经有的了,在项目中添加这个自定义库就行了) 2. 把上个例子中的crystalreportviewers文件夹放在WEB-INF文件夹同一目录下。这个就是你能看到水晶报表的基本框架,相当于.net里面的水晶报表控件了的源代码了。 3. 把crystal-tags-reportviewer.tld放在WEB-INF下,主要标签 4. web.xml 在 5. 把CRConfig.xml放在src文件夹下,水晶报表的配置文件,如果你有注册,注册码也会在这文件里面