小程序教程

Asp.net 自带报表的使用详解

字号+ 作者:H5之家 来源:H5之家 2016-12-21 18:10 我要评论( )

Asp.net 自带报表的使用详解 1:新建報表所需的數據源DataSet.cs using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Data;namespace ********{public class DataSet{public DataTable CreatDataSet(){DataTabl

Asp.net 自带报表的使用详解

1:新建報表所需的數據源DataSet.cs

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; namespace ******** { public class DataSet { public DataTable CreatDataSet() { DataTable dt = new DataTable(); dt.Columns.Add("A"); dt.Columns.Add("B"); dt.Columns.Add("C"); return dt; } } }
指定所需要綁定的Table的列,返回dataTable 類,CreatDataSet方法名稱隨便起,也可以在一個類裏面定義多個方法(不同數據源)

2:設計報表



報表設計這裡就不涉及了

3:把第一步新建的數據源加到報表裏面綁定

注意:這裡需要先引用 Interop.VBA.dll 才可以把新建的CS文件作為數據源導入




把數據源導入后綁定即可

4:直接把報表導出為PDF,Excel等格式

ReportViewer viewer = new ReportViewer(); viewer.ProcessingMode = ProcessingMode.Local; viewer.LocalReport.ReportEmbeddedResource = "***.Page.Report.Report1.rdlc"; ReportDataSource rds_1 = new ReportDataSource("DataSet1", dtReport);//DataSet1為報表裏面的數據源名稱 viewer.LocalReport.DataSources.Add(rds_1); ReportParameter rp1 = new ReportParameter("參數1","參數1的值" );//給參數賦值 ReportParameter rp2 = new ReportParameter("參數2","參數2的值" ); viewer.LocalReport.SetParameters(new ReportParameter[] {rp1, rp2 }); Warning[] warnings; string[] streamIds; string mimeType = string.Empty; string encoding = string.Empty; string extension = string.Empty; byte[] bytes = viewer.LocalReport.Render("Excel", null, out mimeType, out encoding, out extension, out streamIds, out warnings); //Excel ,PDF ,Word 等格式 // Now that you have all the bytes representing the PDF report, buffer it and send it to the client. Response.Buffer = true; Response.Clear(); Response.ContentType = mimeType; Response.AddHeader("content-disposition", "attachment; filename=1_" + DateTime.Now.ToString("yyyyMMddhhssmm") + "" + "." + extension); Response.BinaryWrite(bytes); // create the file Response.Flush(); // send it to the client to download

5:在頁面引用報表(rpResult為報表控件)

DataTable dt = new DataTable();//自己拼出數據源就可以 ReportDataSource repDataSource = new ReportDataSource("DataSet1", dt); //*設置報表參數,并顯示 this.rpResut.LocalReport.ReportEmbeddedResource = "***.Page.Report.Report1.rdlc""; this.rpResut.LocalReport.DataSources.Clear(); this.rpResut.LocalReport.DataSources.Add(repDataSource); ReportParameter rp1 = new ReportParameter("參數1","參數1的值" );//給參數賦值 ReportParameter rp2 = new ReportParameter("參數2","參數2的值" ); this.rpResut.LocalReport.SetParameters(new ReportParameter[] {rp1, rp2 }); this.rpResut.DataBind(); this.rpResut.LocalReport.Refresh();

至此,報表的產出和顯示都OK了,如果需要更深入的了解,請查看其它文章

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • ASP.NET Ajax – History Support 續

    ASP.NET Ajax – History Support 續

    2016-12-14 17:02

网友点评