Asp.net 自带报表的使用详解_asp.net教程-查字典教程网
Asp.net 自带报表的使用详解
Asp.net 自带报表的使用详解
发布时间:2016-12-29 来源:查字典编辑
摘要:1:新建報表所需的數據源DataSet.cs复制代码代码如下:usingSystem;usingSystem.Collections.Gen...

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了,如果需要更深入的了解,請查看其它文章

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新asp.net教程学习
    热门asp.net教程学习
    编程开发子分类