Griview以excel方式导出

 添加 EnableEventValidation = "false" 

<%@ Page Language="C#" MasterPageFile="~/ruichims/Ruichi.Master" AutoEventWireup="true"
    CodeBehind="AccountsReceivable.aspx.cs" Inherits="RCMS.Web.ruichims.Sale.AccountsReceivable"
    Title="应收账款跟踪" EnableEventValidation = "false" %>

 

导出方法:

 

       public override void VerifyRenderingInServerForm(Control control)//必须有,暂时不知其意思
        {

        } 
        private void excel(string filename)
        {

            Response.Clear();

            Response.Buffer = true;

            Response.Charset = "GB2312";

            Response.AppendHeader("Content-Disposition", "attachment;filename=" + filename);

            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文

            Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。

            this.EnableViewState = false;

            System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);

            System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);

            System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

            Griview1.RenderControl(oHtmlTextWriter);//此处Griview1需要注意

            Response.Write(oStringWriter.ToString());

            Response.End();

        }

 

 

 

private void excel(string filename)

{

Response.Clear();

Response.Buffer = true;

Response.Charset = "GB2312";

Response.AppendHeader("Content-Disposition", "attachment;filename=" + filename);

Response.ContentEncoding =System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文

Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。

this.EnableViewState= false;

System.Globalization.CultureInfo myCItrad = newSystem.Globalization.CultureInfo("ZH-CN", true);

System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);

System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

Griview1.RenderControl(oHtmlTextWriter);//此处Griview1需要注意

Response.Write(oStringWriter.ToString());

Response.End();

}

publicoverride voidVerifyRenderingInServerForm(Control control)//必须有,暂时不知其意思

{

}



 

应用方式:

 

protected void linkbtn_Click(objectsender, EventArgs e)//导出excel的按钮click事件
    {
        //GridView51.DataSource= user.pl_nowday().Tables[0];

        //GridView1.DataBind();

        //excel方法中字符窜filename的格式,此方式在ie浏览器中有效,firefox呈现乱码

        //stringname = Server.UrlEncode("当天签到信息") + ".xls";

        //下面的格式firefox中有效,ie中失效,呈现乱码

        stringname = "当天签到信息.xls";
        excel(name);
}

 



  

页面源码:

 

页面源码
<div>

<asp:GridView ID="Griview1" runat="server">

</asp:GridView>

<asp:LinkButton ID="linkbtn" runat="server">导出Excel</asp:LinkButton>

</div>



 

posted @ 2012-02-01 21:00  偶不是大叔  阅读(383)  评论(0编辑  收藏  举报