读书人

为什么导出来的Excel内容是乱码?看下小

发布时间: 2012-02-01 16:58:19 作者: rapoo

为什么导出来的Excel内容是乱码?看下我的代码吧.
private void ReBut5_Click(object sender, System.EventArgs e)
{
if(this.ReGrid1.Items.Count> 0)
{
this.ButExcel( "application/ms-excel ", "加班大於36小.xls ");
}
else
{
Page.RegisterStartupScript( " ", " <script> alert( '有料出! ') </scrip> ");
}
}
public void ButExcel(string FileType, string FileName)
{

System.IO.StringWriter tw= new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
Response.Charset = "Big5 ";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader( "Content-Disposition ", "attachment;filename= " + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8).ToString());
Response.ContentType = FileType;
this.EnableViewState = false;
Response.Clear();
Response.Buffer= true;
DataGrid dg=new DataGrid();
SqlConnection Con = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings[ "Con "]);
Con.Open();
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = new SqlCommand( "select WorkId as '工 ',[name] as '姓名 ',FactTotal as '加班 ',dept as '部 ' from V_ReportJB where facttotal > 36 ",Con);
DataSet ds = new DataSet();
sda.Fill(ds, "table ");
dg.DataSource=ds;
dg.DataBind();
dg.RenderControl(hw);
Response.Write(tw.ToString());
Response.End();

}


[解决办法]
这句
Response.Charset = "Big5 ";
改为
Response.Charset = "GBK ";

读书人网 >asp.net

热点推荐