所用代码如下,因为我的DataGrid中存在中文、日文、法文、德文等。所以采用utf-8编码!
在中文2000操作系统中运行没有问题,导出的Excel不存在乱码,可是我们的服务器是英文的2000server
同样的代码,数据库,导出来的Excel局势乱码的,谁遇到过这种问题public void ToExcel(System.Web.UI.Control ctl)
{
Response.Clear();
Response.Buffer= true;
HttpContext.Current.Response.Charset ="utf-8";
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Report.xls");
HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.GetEncoding("utf-8");
HttpContext.Current.Response.ContentType ="application/ms-excel"; //image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
ctl.Page.EnableViewState =false;
System.IO.StringWriter tw = new System.IO.StringWriter() ;
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}
在中文2000操作系统中运行没有问题,导出的Excel不存在乱码,可是我们的服务器是英文的2000server
同样的代码,数据库,导出来的Excel局势乱码的,谁遇到过这种问题public void ToExcel(System.Web.UI.Control ctl)
{
Response.Clear();
Response.Buffer= true;
HttpContext.Current.Response.Charset ="utf-8";
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Report.xls");
HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.GetEncoding("utf-8");
HttpContext.Current.Response.ContentType ="application/ms-excel"; //image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
ctl.Page.EnableViewState =false;
System.IO.StringWriter tw = new System.IO.StringWriter() ;
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}
解决方案 »
- 关于验证码的讨论,是cookie还是session
- 急救....asp.net做的网站..在火狐浏览器上浏览老是有问题..
- 一个关于弹出alert的奇怪问题
- 请问ACCESS里有没有Replace这个函数
- 求助: 老是提示{“ImageButton”的控件“ibtDone”必须放在具有 runat=server 的窗体标记内}
- 关于分层开发问题??
- 急!急!急!
- 关于用文字链接来实现对asp.net对象的保存
- 調查 --> 这里的哥们,除了MVP外,有没有人在用正版的vs.net??
- web.config配置文件的问题.很怪哟!
- [求助]用JavaScript清空.net控件DropDownList内容的问题?
- 脚本问题,如何将在<iframe>里面插入html文件(图片或是文本);在线等,!!急急!!!!!
Response.Buffer= true;
Response.Charset="GB2312"; //获取或设置输出流的 HTTP 字符集。
Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
this.EnableViewState = false;
我以前也是这样做的, 经常是大多数页面是好的, 但有几个页面就是乱码,
换种编码后, 这些页面好了, 另外页面出现乱码. 建议你遍历DataTable , 然后输出html表格, 是字符串的字段前加上 , 即加上一个空调, 就OK了