ASP.NET2.0中Gridview中的内容导出到Excel

原创 2007年09月28日 11:34:00
在日常工作中,经常要将gridview中的内容导出到excel报表中去,在ASP.NET 2.0中,同样可以很方便地实现将整个gridview中的内容导出到excel报表中去,下面介绍其具体做法:
  首先,建立基本的页面default.aspx

<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
<br/>
<asp:Button ID="BtnExport" runat="server" OnClick="BtnExport_Click"
Text="Export to Excel" />
</form>

  在default.aspx.cs中,写入如下代码:

protected void Page_Load(object sender, EventArgs e)
{
 if (!Page.IsPostBack)
 {
  BindData();
 }
}
private void BindData()
{
 string query = "SELECT * FROM customers";
 SqlConnection myConnection = new SqlConnection(ConnectionString);
 SqlDataAdapter ad = new SqlDataAdapter(query, myConnection);
 DataSet ds = new DataSet();
 ad.Fill(ds, "customers");
 GridView1.DataSource = ds;
 GridView1.DataBind();
}

public override void VerifyRenderingInServerForm(Control control)
{
 // Confirms that an HtmlForm control is rendered for
}

protected void Button1_Click(object sender, EventArgs e)
{
 Response.Clear();
 Response.AddHeader("content-disposition","attachment;filename=FileName.xls");
 Response.Charset = "gb2312";
 Response.ContentType = "application/vnd.xls";
 System.IO.StringWriter stringWrite = new System.IO.StringWriter();
 System.Web.UI.HtmlTextWriter htmlWrite =new HtmlTextWriter(stringWrite);

 GridView1.AllowPaging = false;
 BindData();
 GridView1.RenderControl(htmlWrite);

 Response.Write(stringWrite.ToString());
 Response.End();
 GridView1.AllowPaging = true;
 BindData();
}
protected void paging(object sender,GridViewPageEventArgs e)
{
 GridView1.PageIndex = e.NewPageIndex;
 BindData();
}

  在上面的代码中,我们首先将gridview绑定到指定的数据源中,然后在button1的按钮(用来做导出到EXCEL的)的事件中,写入相关的代码。这里使用Response.AddHeader("content-disposition","attachment;filename=exporttoexcel.xls");中的filename来指定将要导出的excel的文件名,这里是exporttoexcel.xls。要注意的是,由于gridview的内容可能是分页显示的,因此,这里在每次导出excel时,先将gridview的allowpaging属性设置为false,然后通过页面流的方式导出当前页的gridview到excel中,最后再重新设置其allowpaging属性。另外要注意的是,要写一个空的VerifyRenderingInServerForm方法(必须写),以确认在运行时为指定的ASP.NET 服务器控件呈现HtmlForm 控件。

 

ASP.NET2.0中Gridview中数据操作技巧

GridView经典删除操作,两种方法ASP.NET2.0中Gridview中数据操作技巧 asp.net2.0中新增的gridview控件,是十分强大的数据展示控件。   一、Gridvi...

Asp.Net2.0新GridView控件使用

原文地址:http://www.cnblogs.com/blueocean/articles/555855.html 一、Gridview中的内容导出到Excel   在日常工作中,经常要将g...

ASP.NET2.0中Gridview中数据操作技巧

Asp.net 2.0中新增的gridview控件,是十分强大的数据展示控件,最近学习了该控件的使用,继续总结一下有关心得,原文已发表在http://dev.yesky.com/msdn/483/23...

asp.net2.0 gridview空数据时 仅显示列头

给GridView控件设计一个空数据模板(EmptDateTemplate)。 这个模板只在在绑定的数据项为0时才会显示。例子:   标签中间的部分,就是数据的场合, 原样显示一下列头的数据。...

ASP.NET 2.0中将 GridView 导出到 Excel 文件中

TAG:ASP.NET 2.0中将 GridView 导出到 Excel 文件中 下面代码实现将 GridView 导出到 Excel文件中。 值得注意的是VerifyRenderin...

asp.net2.0导出pdf文件完美解决方案

PDF简介:PDF(Portable Document Format)文件格式是Adobe公司开发的电子文件格式。这种文件格式与操作系统平台无关,也就是说,PDF文件不管是在Windows,Unix还...

在.net2.0中,实现对gridview删除行时弹出确认对话框的四种方法

1,GridView中如何使用CommandField删除时,弹出确认框?   在VS2005提供的GridView中我们可以直接添加一个CommandField删除列:asp:CommandFi...

ASP.NET 把EXCEL复制的内容粘贴到Gridview(非导入,是粘贴)

function insertTable(col, row) { if (event.ctrlKey && event.keyCode == 86) { ...
  • ykdrj
  • ykdrj
  • 2012年11月12日 17:07
  • 2600
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET2.0中Gridview中的内容导出到Excel
举报原因:
原因补充:

(最多只允许输入30个字)