• 水晶报表导出为word,excel和pdf格式

    日期:2008-01-08 | 分类:asp.net | Tags:asp.net excel pdf

    string filetype = "";
      
       filetype = ddlFileType.SelectedValue;
       
       string contenttype = "";
       
       string myfilename = Request.MapPath(".")+"file://reportexportfile//%22+Session.SessionID+%22.%22+filetype;

       CrystalDecisions.Shared.DiskFileDestinationOptions mydiskfiledestinationoptions = new CrystalDecisions.Shared.DiskFileDestinationOptions();

       mydiskfiledestinationoptions.DiskFileName = myfilename;
      
       CrystalDecisions.Shared.ExportOptions myExportOptions = myreport.ExportOptions;

       myExportOptions.DestinationOptions = mydiskfiledestinationoptions;
       
       myExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile;

       switch(ddlFileType.SelectedItem.Value)
       
       {
        
        case "pdf":
         
                contenttype = "application/pdf";
         
                myExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
                break;
        
        case "doc":
         
                Response.ContentType = "application/ms-excel";
         
                myExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.WordForWindows;
                break;
        
        case "xls":
         
                contenttype = "application/vnd.ms-excel";

                this.EnableViewState = false;
                myExportOptions.ExportFormatType =CrystalDecisions.Shared.ExportFormatType.Excel;
                break;
       }
       
       myreport.Export();

       Response.ClearContent();
     
       Response.ClearHeaders();
       
       Response.ContentType = contenttype;
       
       Response.WriteFile(myfilename);
       
       Response.Flush();
       
       Response.Close();

       System.IO.File.Delete(myfilename);