当前位置: 移动技术网 > IT编程>开发语言>.net > asp.net导出Excel乱码的原因及解决方法

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

沈阳新东北影城影讯,e-mail注册,经典相声台词

复制代码 代码如下:

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");

注意观察,主要原因其实就是编码格式问题。

现在就能防止导出时候乱码问题了

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网