摘要:[ASP.NET] 藉由ReportView直接輸出PDF檔
讓USER直接取得PDF檔來使用
private void ExpRpt1()
{
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string extension;
this.ReportViewer1.ServerReport.ReportServerUrl = "報表URL的位置";
this.ReportViewer1.ServerReport.DisplayName = "報表顯示的名稱";
//報表參數
ReportParameter[] parm = new ReportParameter[2];
parm[0] = new ReportParameter("pyear", this.ddlRegYear.SelectedValue.Trim());
parm[1] = new ReportParameter("psem", this.ddlRegSem.SelectedValue.Trim());
this.ReportViewer1.ServerReport.ReportPath = "報表目錄位置&檔名";
this.ReportViewer1.ServerReport.ReportServerCredentials = new MyReportServerCredentials();
this.ReportViewer1.ShowParameterPrompts = false;
this.ReportViewer1.ServerReport.SetParameters(parm);
this.ReportViewer1.ServerReport.Refresh();
//轉為PDF
byte[] reportBytes = this.ReportViewer1.ServerReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamids, out warnings);
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment; filename=StuAbsentNotice.pdf"); //輸出檔名
Response.AddHeader("Accept-Header", reportBytes.Length.ToString());
Response.ContentType = "application/pdf";
Response.OutputStream.Write(reportBytes, 0, reportBytes.Length);
Response.Flush();
Response.Close();
}