Copy codeThe Code is as follows:
Protected void Excel_Click (object sender, EventArgs e)
{
Response. Charset = "UTF-8 ";
Response. ClearContent ();
Response. Clear ();
Response. ContentEncoding = System. Text. Encoding. UTF8;
Response. HeaderEncoding = System. Text. Encoding. UTF8;
Response. AddHeader ("content-disposition", "attachment; filename=MyExpress.xls ");
Response. ContentType = "application/excel ";
System. IO. StringWriter sw = new System. IO. StringWriter ();
HtmlTextWriter htw = new HtmlTextWriter (sw );
// Turn off paging
GridView1.AllowPaging = false;
DataBind ();
GridView1.RenderControl (htw );
Response. Write (sw. ToString ());
Response. End ();
// Turn the paging on again
GridView1.AllowPaging = true;
DataBind ();
}
Key:
Copy codeThe Code is as follows:
Response. Charset = "UTF-8"; // Add encoding format
Response. ClearContent ();
Response. Clear ();
Response. ContentEncoding = System. Text. Encoding. UTF8; // Add the Encoding format to the table content
Response. HeaderEncoding = System. Text. Encoding. UTF8; // Add the Encoding format to the header.
You can use
Copy codeThe Code is as follows:
Response. ClearContent ();
Response. Clear ();
Response. AddHeader ("content-disposition", "attachment; filename=sumlate.xls ");
Response. Charset = "GB2312 ";
Response. ContentEncoding = System. Text. Encoding. GetEncoding ("GB2312 ");
Response. ContentType = "application/excel ";
System. IO. StringWriter sw = new System. IO. StringWriter ();
HtmlTextWriter htw = new HtmlTextWriter (sw );
If (GridView2.Rows. Count> 0)
{
GridView2.RenderControl (htw );
}
Else
{
GridView1.RenderControl (htw );
}
Response. Write (sw. ToString ());
Response. End ();
Key:
Copy codeThe Code is as follows:
Response. Charset = "GB2312 ";
Response. ContentEncoding = System. Text. Encoding. GetEncoding ("GB2312 ");
Note that the main cause is the encoding format.
Now we can prevent garbled characters during export.