string name=string.Empty;
CrystalDecisions.Shared.DiskFileDestinationOptions diskopt=new CrystalDecisions.Shared.DiskFileDestinationOptions();
customerReport.ExportOptions.ExportDestinationType=CrystalDecisions.Shared.ExportDestinationType.DiskFile;
switch(DropDownList1.SelectedItem.Text)
{
case "Rich Text(RTF)":
customerReport.ExportOptions.ExportFormatType=CrystalDecisions.Shared.ExportFormatType.RichText;
diskopt.DiskFileName=Server.MapPath("~/reports/push/report.rtf");
name=Server.MapPath("~/reports/push/report.rtf");
break;
case "Portable Document(PDF)":
customerReport.ExportOptions.ExportFormatType=CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
diskopt.DiskFileName=Server.MapPath("~/reports/push/report.pdf");
name=Server.MapPath("~/reports/push/report.pdf");
break;
case "MS Word(Doc)":
customerReport.ExportOptions.ExportFormatType=CrystalDecisions.Shared.ExportFormatType.WordForWindows;
diskopt.DiskFileName=Server.MapPath("~/reports/push/report.doc");
name=Server.MapPath("~/reports/push/report.doc");
break;
case "MS Excel(XLS)":
customerReport.ExportOptions.ExportFormatType=CrystalDecisions.Shared.ExportFormatType.Excel;
diskopt.DiskFileName=Server.MapPath("~/reports/push/report.XLS");
name=Server.MapPath("~/reports/push/report.XLS");
break;
default:
break;
}
customerReport.ExportOptions.DestinationOptions=diskopt;
customerReport.Export();
if(name==string.Empty)
{
return;
}
FileStream fileStream = new FileStream(name, FileMode.Open);
long fileSize = fileStream.Length;
Context.Response.ContentType = "application/octet-stream";
Context.Response.AddHeader("Content-Disposition", "attachment; filename=/"" + HttpUtility.UrlEncode("下载时默认的文件名", System.Text.Encoding.UTF8) + "/"");
Context.Response.AddHeader("Content-Length", fileSize.ToString());
byte[] fileBuffer = new byte[fileSize];
fileStream.Read(fileBuffer, 0, (int)fileSize);
fileStream.Close();
Response.BinaryWrite(fileBuffer);
Response.End();
CrystalDecisions.Shared.DiskFileDestinationOptions diskopt=new CrystalDecisions.Shared.DiskFileDestinationOptions();
customerReport.ExportOptions.ExportDestinationType=CrystalDecisions.Shared.ExportDestinationType.DiskFile;
switch(DropDownList1.SelectedItem.Text)
{
case "Rich Text(RTF)":
customerReport.ExportOptions.ExportFormatType=CrystalDecisions.Shared.ExportFormatType.RichText;
diskopt.DiskFileName=Server.MapPath("~/reports/push/report.rtf");
name=Server.MapPath("~/reports/push/report.rtf");
break;
case "Portable Document(PDF)":
customerReport.ExportOptions.ExportFormatType=CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
diskopt.DiskFileName=Server.MapPath("~/reports/push/report.pdf");
name=Server.MapPath("~/reports/push/report.pdf");
break;
case "MS Word(Doc)":
customerReport.ExportOptions.ExportFormatType=CrystalDecisions.Shared.ExportFormatType.WordForWindows;
diskopt.DiskFileName=Server.MapPath("~/reports/push/report.doc");
name=Server.MapPath("~/reports/push/report.doc");
break;
case "MS Excel(XLS)":
customerReport.ExportOptions.ExportFormatType=CrystalDecisions.Shared.ExportFormatType.Excel;
diskopt.DiskFileName=Server.MapPath("~/reports/push/report.XLS");
name=Server.MapPath("~/reports/push/report.XLS");
break;
default:
break;
}
customerReport.ExportOptions.DestinationOptions=diskopt;
customerReport.Export();
if(name==string.Empty)
{
return;
}
FileStream fileStream = new FileStream(name, FileMode.Open);
long fileSize = fileStream.Length;
Context.Response.ContentType = "application/octet-stream";
Context.Response.AddHeader("Content-Disposition", "attachment; filename=/"" + HttpUtility.UrlEncode("下载时默认的文件名", System.Text.Encoding.UTF8) + "/"");
Context.Response.AddHeader("Content-Length", fileSize.ToString());
byte[] fileBuffer = new byte[fileSize];
fileStream.Read(fileBuffer, 0, (int)fileSize);
fileStream.Close();
Response.BinaryWrite(fileBuffer);
Response.End();