我修改的论坛上有个人的代码,代码如下:Charset = "gb2312";
private void importexcel(DataGrid o,string FileName)
{
Response.Clear();
Response.Buffer=true;
//使用中文
Response.Charset = "gb2312";
Response.AppendHeader("Content-Disposition","attachment;filename=" + FileName + ".xls"); 
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
//设置格式为Excel
Response.ContentType = "application/ms-excel";
EnableViewState = false;
System.IO.StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter tw = new HtmlTextWriter(sw);
o.RenderControl(tw);
Response.Write(sw.ToString());
Response.End();
}

解决方案 »

  1.   

    你再在页面头加上<META http-equiv="Content-Type" content="text/html; charset=gb2312">
    试试。
      

  2.   

    晕,我把
    Response.Charset = "gb2312";
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");改成:Response.Charset = "utf-8";
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
    就行了。
    用gb2312竟然不行,奇怪了,谁知道为什么?
      

  3.   

    顺便发现一个问题我把导出写成import了,^_^,赶紧改成export
      

  4.   

    <META http-equiv="Content-Type" content="text/html; charset=gb2312">
      

  5.   

    文件名若是中文的话要编码的:string fileName = HttpUtility.UrlEncode( FileName  ,System.Text.Encoding.UTF8 ) ; //必须编码,不然文件名会出现乱码