添加 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>