码迷,mamicode.com
首页 > 其他好文 > 详细

将table导出为Excel的标准无乱码写法

时间:2014-08-04 20:40:37      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   os   io   数据   

导出为Excel有很多种写法,对于一些复杂的格式,笔者喜欢在后台先拼成一个<table>,再使用Response输出。

如果数据中包含中文或者一些特殊字符,可很多不规范的写法都会导致页面乱码,这里就把一种(笔者认为)最标准的格式带给大家:

 

Page p = HttpContext.Current.Handler as Page;
p.Response.Clear();
p.Response.Buffer = true;
p.Response.Charset = "UTF-8";
p.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filename, Encoding.UTF8) + ".xls");
p.Response.ContentEncoding = Encoding.UTF8;
p.Response.ContentType = "application/vnd.ms-excel";
p.EnableViewState = false;
p.Response.Write("<html><head><meta http-equiv=‘Content-Type‘ content=‘application/vnd.ms-excel; charset=utf-8‘ /></head>" + text + "</html>");
p.Response.End();


以上代码需注意两点:

1)Charset/AppendHeader/ContentEncoding都必须统一使用UTF8

2)text里面如果只有<table>,必须在前后加上<html></html>.为进一步规范,建议用以上代码格式编写

 

 

 

好了,现在应该是无论如何你怎么导出Excel,也没有乱码字符了。

将table导出为Excel的标准无乱码写法,布布扣,bubuko.com

将table导出为Excel的标准无乱码写法

标签:style   blog   http   color   使用   os   io   数据   

原文地址:http://www.cnblogs.com/kandyvip/p/3890714.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!