下面介绍一种ASP.net中导出Excel的简单方法
先上代码:前台代码如下(这是自己项目里面写的一点代码先贴出来吧)
<div > </div>
后台代码如下 :
绑定Repeater数据这里接就不多做介绍了(用的Repeater嵌套)
下面贴出后台导出Excel的方法:
/// <summary>
/// 将数据导出到excel,与下面的函数同时使用才能正常工作
/// </summary>
/// <param name="ctl"></param>
public void ToExcel(System.Web.UI.Control ctl)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Charset = "";
string filename = "Report" + System.DateTime.Now.ToString("_yyyyMMddHHmm");
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" +
System.Web.HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8) + ".xls");
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.ContentType = "application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
ctl.Page.EnableViewState = false;
System.IO.StringWriter tw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}
后台导出Excel时直接调用为 ToExcel(this.export); 这里的export是加了runat="server"的div名称,
这句代码的意思是调用ToExcel的方法导出export里面的页面数据(页面上的数据是怎么展示的,导出来以后的Excel数据会以同样的方式展示)