日期:2014-05-20  浏览次数:21259 次

asp.net生成execel文件打开时,薄名和title名都是乱码。
asp.net生成execel文件打开时,薄名和title名都是乱码。

内容是正确的!

我的代码是这样的,
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer   =   true;
HttpContext.Current.Response.ContentType   =   "application/octet-stream ";
HttpContext.Current.Response.AddHeader( "Content-Disposition ",   "attachment;filename= "   +   HttpUtility.UrlEncode(csvfilename   +   ".csv ",   Encoding.UTF8));
HttpContext.Current.Response.BinaryWrite(Encoding.Default.GetBytes(csvcontent));

HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();

考了一段别人的asp的代码,就没有问题,

帮帮我,感谢大家了!!

------解决方案--------------------
把编码改成GB2312
------解决方案--------------------
HttpContext.Current.Response.BinaryWrite(Encoding.UTF-8.GetBytes(csvcontent));
另外,IE下载对话框点保存,不要打开,在临时文件夹下打开可能是乱码
------解决方案--------------------
报告楼主;你这是典型的编码问题
------解决方案--------------------
以前碰到过,当时没解决,最后换成,直接在服务器端生成Excel,然后再给用户下载,而不是用html方式输出。
------解决方案--------------------
aspx的编码跟
HttpUtility.UrlEncode(csvfilename + ".csv ", Encoding.UTF8));
HttpContext.Current.Response.BinaryWrite(Encoding.Default.GetBytes(csvcontent));

这些地方的编码问题
------解决方案--------------------
http://www.cnblogs.com/wf5360308/articles/621401.html
------解决方案--------------------
这里:
HttpContext.Current.Response.ContentType = "application/octet-stream ";
改成
Response.contentType= "application/vnd.ms-excel ";试试
------解决方案--------------------
mark...
------解决方案--------------------
Response.ContentType = "application/octet-stream ";
Response.AppendHeader( "Content-Disposition ", "attachment;filename= " + fileName);
int bufSize = (int)stream.Length;
byte[] buf = new byte[bufSize];
int bytesRead = stream.Read(buf,0,bufSize);
PatchData(buf, " ",position);
Response.OutputStream.Write(buf,0,bytesRead);
Response.End();
------解决方案--------------------
up
------解决方案--------------------
sign
------解决方案--------------------
看看吧~!经过测试 ~!可以翻页~!导出!
Response.Clear();
Response.Buffer = true;
Response.Charset= "GB2312 ";
Response.AppendHeader( "Content-Disposition ", "attachment;filename=SmsExcel.xls ");
Response.ContentEncoding=System.Text.Encoding.GetEncoding( "GB2312 ");//设置输出流为简体中文
Response.ContentType= "application/ms-excel ";
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo( "ZH-CN ",true);
System.IO.StringWriter oStringWriter= new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new HtmlTextWriter(oStringWriter);
this.a.DataSource = this.GetDt();
this.a.DataBind();
this.a.RenderControl(oHtmlTextWriter);