Asp导出Excel乱码怎么办

2025-04-02 09:41:33
推荐回答(1个)
回答1:

在将asp导入excel是要是出现了乱码可是很烦人的事情,那该怎么解决呢。
  方法一:
  protected void Excel_Click(object sender, EventArgs e)
  {
  Response.Charset = "UTF-8";
  Response.ClearContent();
  Response.Clear();
  Response.ContentEncoding = System.Text.Encoding.UTF8;
  Response.HeaderEncoding = System.Text.Encoding.UTF8;
  Response.AddHeader("content-disposition", "attachment; filename=MyExpress.xls");
  Response.ContentType = "application/excel";
  System.IO.StringWriter sw = new System.IO.StringWriter();
  HtmlTextWriter htw = new HtmlTextWriter(sw);
  // turn off paging
  GridView1.AllowPaging = false;
  dataBind();
  GridView1.RenderControl(htw);
  Response.Write(sw.ToString());
  Response.End();
  // turn the paging on again
  GridView1.AllowPaging = true;
  dataBind();
  }
  Response.Charset = "UTF-8";//添加编码格式
  Response.ClearContent();
  Response.Clear();
  Response.ContentEncoding = System.Text.Encoding.UTF8;//表格内容添加编码格式
  Response.HeaderEncoding = System.Text.Encoding.UTF8;//表头添加编码格式
  方法二:
  Response.ClearContent();
  Response.Clear();
  Response.AddHeader("content-disposition", "attachment; filename=sumlate.xls");
  Response.Charset = "GB2312";
  Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
  Response.ContentType = "application/excel";
  System.IO.StringWriter sw = new System.IO.StringWriter();
  HtmlTextWriter htw = new HtmlTextWriter(sw);
  if (GridView2.Rows.Count > 0)
  {
  GridView2.RenderControl(htw);
  }
  else
  {
  GridView1.RenderControl(htw);
  }
  Response.Write(sw.ToString());
  Response.End();
  Response.Charset = "GB2312";
  Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");