您好,登录后才能下订单哦!
本篇内容介绍了“asp.net导出Excel乱码的原因和解决方案”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
复制代码 代码如下:
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(); 
} 
关键: 
复制代码 代码如下:
Response.Charset = "UTF-8";//添加编码格式 
Response.ClearContent(); 
Response.Clear(); 
Response.ContentEncoding = System.Text.Encoding.UTF8;//表格内容添加编码格式 
Response.HeaderEncoding = System.Text.Encoding.UTF8;//表头添加编码格式 
上边如果解决不了还可以用 
复制代码 代码如下:
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(); 
关键: 
复制代码 代码如下:
Response.Charset = "GB2312"; 
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); 
注意观察,主要原因其实就是编码格式问题。 
现在就能防止导出时候乱码问题了
“asp.net导出Excel乱码的原因和解决方案”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。