将当前页导出到Execl代码如下:
View Code
/// <summary> /// 将数据导出成列表事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void BtnExport_Click(object sender, EventArgs e) { StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter htw = new HtmlTextWriter(sw); Page page = new Page(); HtmlForm form = new HtmlForm(); GridView1.EnableViewState = false; page.EnableEventValidation = false; page.DesignerInitialize(); page.Controls.Add(form); form.Controls.Add(GridView1); page.RenderControl(htw); Response.Clear(); Response.Buffer = true; Response.ContentType = "application/vnd.ms-excel"; DateTime dt = DateTime.Now;//给导出后的Excel表命名,结合表的用途以及系统时间来命名 string filename = dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() + dt.Hour.ToString() + dt.Minute.ToString() + dt.Second.ToString(); Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode("状态报告—" + filename, System.Text.Encoding.UTF8) + ".xls");//导出文件命名 Response.Charset = "UTF-8"; Response.ContentEncoding = Encoding.Default; Response.Write(sb.ToString()); Response.End(); }