//輸出EXCEL檔案 private void ExportExcel(string strFileName, CrystalDecisions.CrystalReports.Engine.ReportDocument report) { //CrystalReport to Excel Stream strFileName = HttpUtility.UrlEncode(strFileName + ".XLS", System.Text.Encoding.UTF8); System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //Stream export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + strFileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); }
//輸出PDF檔案 private void ExportPDF(string strFileName, CrystalDecisions.CrystalReports.Engine.ReportDocument report) { //CrystalReport to PDF Stream strFileName = HttpUtility.UrlEncode(strFileName + ".PDF", System.Text.Encoding.UTF8); System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //Stream export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + strFileName);//匯出檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); }