手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >Asp.net 自带报表的使用详解
Asp.net 自带报表的使用详解
摘要: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:設計報表

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

報表設計這裡就不涉及了

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

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

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

把數據源導入后綁定即可

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获取网站绝对路径案例详解

asp.net下PageMethods使用技巧

asp.net 字符串加密解密技术

asp.net 因为数据库正在使用的解决方法

asp.net OleDbCommand 的用法

Asp.Net URL重写的具体实现

asp.net下实现URL重写技术的代码

asp.net COOKIES需要注意的一点

Asp.Net Cache缓存使用代码

asp.net Repeater中使用if的代码

精品推荐
分类导航