问题描述
在网上找的一个函数,从dataset将数据导入excel中超过5行中文将出现乱码,函数如下:publicvoidCreateExcel(DataSetds,stringFileName){HttpResponseresp;resp=Page.Response;resp.ContentType="application/vnd.ms-excel";resp.ContentEncoding=System.Text.Encoding.GetEncoding("UTF-8");resp.AppendHeader("Content-Disposition","attachment;filename="+FileName+".xls");stringcolHeaders="<style>td{white-space:nowrap;}</style><table><tr>",ls_item="";inti=0;//定义表对象与行对像,同时用DataSet对其值进行初始化DataTabledt=ds.Tables[0];DataRow[]myRow=dt.Select("");//取得数据表各列标题,各标题之间以t分割,最后一个列标题后加回车符for(i=0;i<dt.Columns.Count;i++){colHeaders+="<td>"+dt.Columns[i].Caption.ToString()+"</td>";}colHeaders+="</tr>";//向HTTP输出流中写入取得的数据信息resp.Write(colHeaders);//逐行处理数据foreach(DataRowrowinmyRow){ls_item+="<tr>";//在当前行中,逐列获得数据,数据之间以t分割,结束时加回车符nfor(i=0;i<dt.Columns.Count;i++){ls_item+="<td>"+row[i].ToString()+"</td>";}ls_item+="</tr>";//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据resp.Write(ls_item);ls_item="";}resp.Write("</table>");//写缓冲区中的数据到HTTP头文件中resp.End();}将resp.ContentEncoding=System.Text.Encoding.GetEncoding("UTF-8");这一句中utf-8改为gb2312或者utf-7也不行,高手给看看什么意思啊?
解决方案
解决方案二:
这个简单啊,网上搜一下就得到答案了.