Crystal Reports是具有强大内容创建和集成功能的高效的报表技术,是第三方开发的报表工具,使用水晶报表我们可以更好地向用户展示数据。以前可以通过编程的方式将数据集中的数据进行处理后在windows应用程序或web应用程序中输出显示,但如果要做超出了基本格式化的一些工作如:求和、平均、多极汇总、制作图标等就会显得比较复杂,而水晶报表正好弥补了其中的不足。
在windows应用程序和web应用程序中我们都可以使用水晶报表,不过在windows应用程序中的水晶报表要比web应用程序中的功能强大,可以很容易地实现打印和导出功能。在这儿只讨论一下在asp.net中水晶报表的简单使用。
先做一个很简单的小例子。新建一个web应用程序,在页面上添加工具箱中web窗体下的Button控件,CrystalReportViewer控件(这个就是水晶报表控件)和html下的File Field控件。File Field控件可以让我们从本地选择一个文件,要想实现水晶报表的显示我们首先需要一个水晶报表文件,该文件的后缀为rpt,这个文件可以通过添加新项添加。现在假设已经有一个水晶报表文件,通过以下几步就可以在页面上显示。
一、双击页面进入代码环境在page_load事件中添加如下代码:
If(Session[“fileName”]!=null)
CrystalReportViewer1.ReportSource=Session[“fileName”].ToString();
这段代码主要是将文件的名字保存在session里面在pageload事件中加以判断,避免在刷新页面的时候出现错误。
二、 在Button按钮的单击事件中添加以下代码:
string strName=File1.PostedFile.FileName;
if(strName.Trim()!=””){
CrystalReportViewer1.ReportSource=strName;
Seesion[“fileName”]=strName;
}
然后按F5运行,选择一个已经做好的rpt文件,点击按钮就可以看见页面上显示的报表结果了。
在整个过程中重要的还是水晶报表文件的建立,水晶报表的创建有pull和push两种模式,pull模式是直接指定数据库驱动然后组装这些数据,push模式需要自己写代码来连接数据库,并将它们传至报表,push模式比pull要更灵活。
由于篇幅原因先说一下pull模式:
在页面中添加一个rpt文件,这时会弹出一个对话框,选择作为空白报表然后点击确定。在右边的“字段资源管理器”中右键点击“数据库字段”选择“添加删除数据库”,会弹出数据库专家的对话框,选择可用数据源中的OLEDB(ADO)根据向导创建数据库的连接。
建立好数据库连接后可以将数据库中的表加到报表中,然后就可以将我们要显示的字段总结拖到rpt文件中的详细资料中,并且在页眉会自动添加字段名,这个名字是可以根据自己的喜好更改的。
这样一个很简单的报表就做好的,当然报表的功能远远不止这些,下面就该写代码了。
1、首先要导入命名空间
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
2、命名空间导入后就要申明一个ReportDocument类的对象:
ReportDocument ReportDoc;
3、最后在pageload事件中加入下面代码就ok了
ReportDoc=new ReportDoument();
ReportDoc.Load(Server.MpaPath("CrystalReport.rpt"));
CrystalReportViewer1.ReportSource=ReportDoc;
按F5运行就可以看到结果。
就写到这儿了,继续学习中………