风萧雨瑟

成功在于坚持

导航

.net数据绑定控件中的数据导出到Excel

在做审计局内部系统时,数据需要导出到Excel,在网上找了些代码,成功的完成了此功能

在html代码第一行中添加EnableEventValidation="false"

<%@ Page Language="C#" AutoEventWireup="true" EnableEventValidation="false" CodeFile="JinduDetail.aspx.cs" Inherits="JinduDetail" %>

 

在aspx.cs文件中添加以下代码:

// 绑定gridview
    /**/
    /// <summary>
    /// 重载VerifyRenderingInServerForm方法
    /// 确认在运行时为指定的 ASP.NET 服务器控件呈现 HtmlForm 控件。
    /// </summary>
    /// <param name="control">ASP.NET 服务器控件,它必须位于 HtmlForm 控件中</param>
    public override void VerifyRenderingInServerForm(Control control)
    {
        //base.VerifyRenderingInServerForm(control);
    }

导出按钮需要的代码:

 protected void btnXls_Click(object sender, ImageClickEventArgs e)
    {
        Response.Clear();
        Response.Buffer = true;
        Response.Charset = "GB2312";
        Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
        // 经测试如果设置为 GetEncoding("GB2312"),导出的文件将会出现乱码。
        Response.ContentEncoding = System.Text.Encoding.UTF7;
        //设置输出文件类型为excel文件。
        Response.ContentType = "application/ms-excel";
        System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
        this.GridView2.RenderControl(oHtmlTextWriter);//注:GridView也可以换成其它数据绑定控件
        Response.Output.Write(oStringWriter.ToString());
        Response.Flush();
        Response.End();
    }

posted on 2008-09-03 14:38  肖林海  阅读(277)  评论(0)    收藏  举报