1.aspx page needs to be added: enableeventvalidation= "false"
Example: <%@ page language= "C #" autoeventwireup= "true" enableeventvalidation= "false" codefile= " DefCheckDate.aspx.cs "
inherits= "Webadmin_customregister_shortoverflow_defcheckdate"%>
2. Post Code (example):
public void Btn_excelclick (object sender, EventArgs e)
{
if (Gdv_Sof.Rows.Count <= 0)
{
Clientscript.registerclientscriptblock (this. GetType (), "", "<script language= ' JavaScript ' >alert (' no numbers! ') </script> ");
Return
}
Response.clearcontent ();
Response.AddHeader ("Content-disposition", "attachment; Filename=checkdate.xls ");
Response.contenttype= "Application/excel";
Response.Charset = "Big5";
response.contentencoding = System.Text.Encoding.GetEncoding ("Big5");
StringWriter SW = new StringWriter ();
HtmlTextWriter HTW = new HtmlTextWriter (SW);
Gdv_sof.columns[0]. Visible = false;
GDV_SOF.COLUMNS[1]. Visible = false;
Gdv_Sof.HeaderRow.Controls.Clear ();
Gdv_sof.allowpaging = false;
Gdv_sof.allowsorting = false;
Bindgridview ();
Gdv_sof.rendercontrol (HTW);
Response.Write (SW);
Response.End ();
Gdv_sof.allowpaging = true;
Gdv_sof.allowsorting = true;
Bindgridview ();
}
This method must have Verifyrenderinginserverform
public override void Verifyrenderinginserverform (Control control)
{
}
3. The digital format is set up: For example, the page is 005, but the reason is 5, you need to add the following type vnd.ms-excel.numberformat:@ ");
Example:
protected void Gdv_sof_rowdatebound (object sender, GridViewRowEventArgs e)
{
if (E.row.rowtype = = Datacontrolrowtype.datarow)
{
E.ROW.CELLS[3]. Attributes.Add ("Style", "vnd.ms-excel.numberformat:@");
E.ROW.CELLS[4]. Attributes.Add ("Style", "vnd.ms-excel.numberformat:@");
}
}
GridView leads out of Excel