asp.net导出Excel乱码的原因及解决方法

//method1:

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(); 
} 


//method2:
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(); 


application/vnd.ms-excel和application/ms-excel都可以。


原文出处:

http://www.jb51.net/article/46996.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值