水晶报表的导出问题
怎么将水晶报表导出成pdf,xsl,doc等格式的文件,我指的是在web下,用c# 问题点数:5、回复次数:3Top
1 楼ami_glacier(ami冰河)回复于 2006-06-17 17:16:30 得分 0
public static void ShowPDF(HttpResponse reponse, string DestFile)
{
reponse.ClearContent();
reponse.ClearHeaders();
reponse.ContentType = "application/pdf";
reponse.WriteFile(DestFile);
reponse.Flush();
reponse.Close();
}
public static void ExportPDF(ReportDocument myreport,string DestFile)
{
CrystalDecisions.Shared.DiskFileDestinationOptions diskOpts = new CrystalDecisions.Shared.DiskFileDestinationOptions();
diskOpts.DiskFileName = DestFile;
myreport.ExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile;
myreport.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
myreport.ExportOptions.DestinationOptions = diskOpts;
myreport.Export();
}
这个是打开和导出pdf的代码,其他的你可以找找海波的blog区看看Top
2 楼llbasin()回复于 2006-06-27 10:17:58 得分 0
private CrystalReportForPj cr = new CrystalReportForPj();
private ReportDocument rd;
private void Page_Load(object sender, System.EventArgs e)
{
rd=new ReportDocument();
rd.Load(Server.MapPath("CrystalReportForPj.rpt"));
}
private void export_Click(object sender, System.EventArgs e)
{
string sDestFile = Path.GetTempFileName();
string sExportFormatType = text_export.SelectedItem.Text;
if (sExportFormatType == "")
return;
DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions();
diskOpts.DiskFileName = sDestFile;
rd=cr;//这句不可少
switch (sExportFormatType)
{
case "Mircrosoft Word 文档":
{
rd.ExportOptions.ExportFormatType = ExportFormatType.WordForWindows;
break;
}
case "Mircrosoft Excel 文档":
{
rd.ExportOptions.ExportFormatType = ExportFormatType.Excel;
break;
}
case "Adobe PDF 文档":
{
rd.ExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
break;
}
}
rd.ExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
rd.ExportOptions.DestinationOptions = diskOpts;
rd.Export();
Response.ClearContent();
Response.ClearHeaders();
switch (sExportFormatType)
{
case "Mircrosoft Word 文档":
{
Response.ContentType = "application/msword";
break;
}
case "Mircrosoft Excel 文档":
{
Response.ContentType = "application/vnd.ms-excel";
break;
}
case "Adobe PDF 文档":
{
Response.ContentType = "application/pdf";
break;
}
}
Response.WriteFile(sDestFile);
Response.Flush();
Response.Close();
File.Delete(sDestFile);
}
另外需将aspnet用户设置为administrator权限.Top
3 楼foxflying(会飞的鱼)回复于 2006-07-06 13:41:55 得分 0
private CrystalReportForPj cr = new CrystalReportForPj();
我在2005下,这一行语句就提示错了,找不到对象,似乎是名称空间的问题。可是没有办法看到报表的cs文件,我怎么定义这个呢?
直接用rd=new ReportDocument();
rd.Load(Server.MapPath("CrystalReportForPj.rpt"));
导出到新页面的时候,页面是空白的,没有显示报表。
请问该怎么解决?Top




