public void Save_ImgBtn_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
Response.Clear();
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; System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); DeptDG.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}
同样的代码,一样的datagrid,在有的页面里导出是简体汉字,而在有的页面里导出是utf-8编码。为什么这样啊?我在web.config里也设置<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>了,难道还要在哪里设置吗?大家帮帮我,我快郁闷死了。
{
Response.Clear();
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; System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); DeptDG.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}
同样的代码,一样的datagrid,在有的页面里导出是简体汉字,而在有的页面里导出是utf-8编码。为什么这样啊?我在web.config里也设置<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>了,难道还要在哪里设置吗?大家帮帮我,我快郁闷死了。
解决方案 »
- asp.net 网站管理工具 未能映射路径,求助!!!急~~~~~
- 在后台给TABLE 动态添加几行
- 这个CRC是依据哪个部分生成的?(200分求解)
- 奇怪的http请求
- 如何在本站的表单提交到外站,并将外站的结果截取过来?用HttpWebRequest或XMLhttp?
- 字符串"%120%"跨页面传递会出乱码
- 新手求助:关于在一个页面中的usercontrl控件调用多个ascx文件的问题。
- 想给单位内部员工的电脑远程修改ip等内容,如何实现呢???
- 很高级的一个问题?
- 百度地图API的使用
- ASP.net中从数据库读入数据后,怎样更改表格的标题行?
- 怎样在cs代码里写语句弹出一个新的窗体来?
所以只能采用别的办法,比如在页面添加OWC的Excel组件,然后设置它的HtmlData属性为DataGrid的InnerHTML,这样的话,应该不会有乱码,但是列宽等等格式信息都没了。。
改为
Response.Charset="utf-8";
试试看