62,071
社区成员
发帖
与我相关
我的任务
分享
public void DataGridToExcel(DataGrid grdTemp,DataSet dsTemp,string strTitle)
{
//之前应把该隐藏的控件隐藏,只有DataGrid和头尾。
//strTitle=HttpUtility.UrlEncode(strTitle.Trim(),System.Text.Encoding.UTF8); //编码转换
grdTemp.AllowPaging = false;
grdTemp.AllowSorting = false;
grdTemp.DataSource = dsTemp.Tables[0].DefaultView;
grdTemp.HeaderStyle.Font.Size=9;
grdTemp.ItemStyle.Font.Size=9;
grdTemp.FooterStyle.Font.Size=9;
grdTemp.DataBind();
Response.Clear();
// Response.ClearHeaders();
Response.Buffer= true;
Response.Charset="GB2312"; //设置了类型为中文防止乱码的出现
Response.AddHeader("Content-Disposition", "attachment;filename=\"" +HttpUtility.UrlEncode(strTitle,System.Text.Encoding.UTF8) + ".xls\"");
//Response.AddHeader("content-disposition", "attachment;filename=" + strTitle + ".xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-7");//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
//Response.Write("<meta http-equiv=Content-Type content=text ml;charset=gb2312>");
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
System.IO.StringWriter stringWrite = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
grdTemp.RenderControl(htmlWrite);
// this.RenderControl(htmlWrite);
Response.Output.Write(stringWrite.ToString());
Response.Flush();
Response.End();
}