水晶报表.NET 2003 下使用水晶报表(Crystal Report)

水晶报表.NET 2003 下使用水晶报表(Crystal Report)
转贴:发表者: xymo   
Crystal Reports for Visual Studio .NET 是用于 Visual Studio .NET 的标准报表开发工具 , 使用他可以快速创建各种类型的报表(如交叉表、子报表、图表 ……)并能同时承载于 WebWindows平台,还可将 Crystal 报表作为报表 Web 服务在 Web 服务器上发布。
一、在第一次使用 .NET自带的水晶报表设计器时,设计器会提示注册。
注册号 : 6655108968
密钥号: AAP5GKS0000S272000F
二、将数据加载到报表并显示数据。
       Crystal Reports提供拉模型和推模型两种数据访问方式,在拉模型中,驱动程序将直接连接到数据库并根据需要将数据 进来,使用这种模型时,为了获取数据而执行的 SQL 命令由 Crystal Reports 本身处理,不需要开发人员编写代码,推模型需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集( DataSet),并且将该数据集传递给报表。
 
使用ADO.NET 数据集创建报表:
1、  添加数据集框架文件,将文件命名为 DataSet1.xsd
2、 DataSet1.xsd添加数据集框架,可以手动添加框架也可以从“服务器资源管理器”中将数据库中的数据表拖拉到 DataSet1.xsd中自动生成数据的框架。
3、  创建新报表。
①、Visual Studio .NET 解决方案资源管理器中,右击您的项目以显示快捷菜单。
②、指向 添加 ,单击 添加新项
③、添加新项 对话框中,从 模板 区域选择 “Crystal Report”。单击 打开
④、Crystal Report 库中,选择下列选项之一:
a)       使用报表专家—— 指导您完成报表的创建过程,并将您的选择添加到 Crystal Report Designer
b)       作为空白报表 —— 打开 Crystal Report Designer
c)       来自于现有的报表 ——创建新报表,它与指定的另一报表设计相同。
⑤、向报表添加数据集框架,打开报表设计器后,右击“字段资源管理器”中的数据库字段项,选择“添加或删除数据库”项打开“数据库专家”。点击“项目数据”— >ADO.NET”将刚才创建的 DataSet1.xsd添加到报表中。
⑥、使用数据表中的字段设计报表,详细的设计可以参考开发工具中的帮助文档。
4、  使用 CrystalReportViewer报表查看器,查看报表数据, Web 应用程序使用 Web 窗体 CrystalReportViewer,而 Windows 应用程序则使用 Windows 窗体 CrystalReportViewer
5、 CrystalReportViewer从工具箱中拖到 webwindows窗体上。
6、   通过程序将报表绑定到 CrystalReportViewer上,并将数据集中的数据显示到 CrystalReportViewer 上。
ReportDocument repDoc= new ReportDocument(); // 报表类
repDoc.Load(m_ReportPath); // 加载报表文件,m_ReportPath为报表文件的物理路径。
repDoc.SetDataSource(ds);  // 设置报表的数据源,ds表示与上面创建的 DataSet1.xsd 具有相同框架的数据集。
crViewer.ReportSource = repDoc;  // 将报表对象绑定到 CrystalReportViewer 报表查看器的 ReportSource 属性上。
 
7、  将报表数据导成 . PDF, . RTF, . DOC, . HTML, . XLS等文件格式,程序如下:
ReportDocument repDoc= new ReportDocument();  // 报表类
repDoc.Load(m_ReportPath);  // 加载报表文件,m_ReportPath为报表文件的物理路径。
repDoc.SetDataSource(ds); // 设置报表的数据源,ds表示与上面创建的 DataSet1.xsd 具有相同框架的数据集。
ExportOptions exOpt=repDoc.ExportOptions;  // 创建输出对象exOpt
exOpt.ExportDestinationType=ExportDestinationType.DiskFile;  // 设置 导出目标 类型,diskfile为磁盘文件
DiskFileDestinationOptions diskOpt = new DiskFileDestinationOptions ();
exOpt.DestinationOptions =diskOpt;   // exOpt属性DestinationOptions设置值
diskOpt.DiskFileName=C:/ ReportTemp/report.pdf  ;    // 设置导出文档的路径和文件名
exOpt.ExportFormatType=ExportFormatType.PortableDocFormat// 设置导出文档的格式为pdf格式。这里可以设置其他文件格式。
repDoc.Export(); // 将文件导出。
三、部署报表。
要运行报表程序,必须在目标机器上部署 Crystal Reports 合并模块,可以创建 web安装项目或 windows安装项目来部署合并模块,创建安装项目时需要将下列合并模块添加到项目中
Crystal_Database_Access2003.msm
Crystal_Database_Access2003_chs.msm
Crystal_Managed2003.msm
Crystal_Managed2003_chs.msm
Crystal_regwiz2003.msm
VC_User_CRT71_RTL_X86_---.msm (
被基于ADO.NET)
VC_User_STL71_RTL_X86_---.msm (
被基于ADO.NET 的报表使用)
的报表使用
创建步骤:
1
创建一个安装项目。
2
、向项目中添加报表的合并模块。
在注册模块 Regwiz的属性 license key 添入密钥号: AAP5GKS0000S272000F(否则运行报表时报表引擎会报“无效密钥”的错误 )
3、生成项目
四、使用报表中可以出现的各种问题
1、  水晶报表查询引擎出错的问题:
设计时的数据集框架和数据源中数据集框架不同引起的(如列名不同,表名不同 ….
2、  水晶报表登陆出错的问题,可能原因:
①、报表文件不存在
②、存放报表文件的文件夹的权限问题 ( NTFS 格式的文件 ), 可以给 EveryOne 用户添加完全控制权限。
③、 水晶报表 Web 查看器文件夹 NTFS 权限的问题 涉及的文件夹
VS.NET Crystal Reports: C:/Program Files/Microsoft Visual Studio .NET/Crystal Reports/Viewers
④、 导出时的目标文件夹 ( 临时文件夹 ) NTFS 权限的问题 . 需要 EveryOne 完全控制权限
 
 
3、  水晶报表加载出错的问题,可能原因:
需要加载的报表文件不存在,或物理路径不对。
 

你可能感兴趣的:(.net,框架,数据库,report,报表,dataset)