参考了网上的一些文章:
TableLogOnInfo logOnInfo = new TableLogOnInfo ();
ReportDocument oRpt = new ReportDocument();
string RptDir="F://aspnet//crystaltopdf//crystalreport1.rpt"; //crystalreport1.rpt文件所在的绝对路径
oRpt.Load(RptDir);
logOnInfo.ConnectionInfo.ServerName = "localhost";
logOnInfo.ConnectionInfo.DatabaseName = "northwind";
logOnInfo.ConnectionInfo.UserID = "sa";
logOnInfo.ConnectionInfo.Password = "xxxxxx";
oRpt.Database.Tables [0].ApplyLogOnInfo(logOnInfo);
//建立.rpt文件与CryStalReportviewer文件之间的连接
CrystalReportViewer1.ReportSource=oRpt;
ExportOptions crExportOptions=new ExportOptions();
DiskFileDestinationOptions crDiskFileDestinationOptions=new DiskFileDestinationOptions();
crDiskFileDestinationOptions.DiskFileName="f://aspnet//crystaltopdf//crystalreport1.pdf";
crExportOptions=oRpt.ExportOptions ;
crExportOptions.DestinationOptions=crDiskFileDestinationOptions;
crExportOptions.ExportDestinationType =ExportDestinationType.DiskFile;
crExportOptions.ExportFormatType =ExportFormatType.PortableDocFormat ;
oRpt.Export();
oRpt.Close();
Response.ClearContent();
Response.ClearHeaders ();
Response.ContentType ="application/pdf";
Response.WriteFile("f://aspnet//crystaltopdf//crystalreport1.pdf");
Response.Flush();
Response.Close();
其中,我试过,一定要用代码里加登陆等信息,不加的话说登陆错误,真奇怪,明明在建报表时加了,为什么要加在代码里呢?程序中生成PDF的方法和生成EXCEL的方法都差不多的。
博客展示了报表生成PDF的代码,包括报表文件加载、数据库连接信息设置、建立与查看器连接、导出为PDF等步骤。还提到代码中需添加登陆信息,否则会报错,且指出程序中生成PDF和EXCEL的方法相近。
2191

被折叠的 条评论
为什么被折叠?



