几个实例,其中DATATABLE导出时也是先绑定GRIDVIEW再从其中导出。
例一:
DataTable dt = db.GetData(strTMP);
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
HttpContext.Current.Response.Charset ="UTF-8";
HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;
HttpContext.Current.Response.ContentType ="application/ms-excel";
System.IO.StringWriter tw = new System.IO.StringWriter() ;
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);
GridView GV = new GridView();//一个无分页的GridView
GV.DataSource = dt;
GV.AllowPaging = false;
GV.DataBind();
GV.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
例二:
HttpContext curContext = System.Web.HttpContext.Current;
System.IO.StringWriter strWriter = new StringWriter();
System.Web.UI.HtmlTextWriter htmlWriter = new HtmlTextWriter(strWriter);
curContext.Response.ContentType = "application/vnd.ms-excel";
curContext.Response.ContentEncoding = Encoding.GetEncoding("GB2312");
curContext.Response.Charset = "GB2312";
GridView GV = new GridView();//一个无分页的GridView
GV.DataSource = DT;//绑定DATATABLE
GV.AllowPaging = false;
GV.DataBind();
GV.RenderControl(htmlWriter);
curContext.Response.Write(strWriter.ToString());
curContext.Response.End();