protected void Button1_Click(object sender, EventArgs e)
{
DGToExecl(GridView1);
}
/// <summary>
/// 导出Execl文档
/// </summary>
/// <param name="ctl"></param>
public void DGToExecl(System.Web.UI.Control ctl) {
Response.Clear();
//是否缓冲输出
Response.Buffer = true;
//导出路径
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=Execl.xls");
//编码格式
HttpContext.Current.Response.Charset = "UTF-8";
//html字符集
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;
//Http MIME类型
HttpContext.Current.Response.ContentType = "application/ms-excel";
//是否保存视图状态
ctl.Page.EnableViewState = false;
//区域设置
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
//写入字符串
System.IO.StringWriter tw = new System.IO.StringWriter(myCItrad);
//格式设置
System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(tw);
//内容输出
ctl.RenderControl(hw);
//写入输出流
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}
//重载VerifyRenderingInServerForm方法 原因:如果不重载的话再内容输出的时候会报错
public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}