你的位置:首页 > ASP.net教程

[ASP.net教程]C#将HTML导出Excel


首先这个 不能用ajax 操作,不过 我现在讲的 这个方法和ajax 的想过一样。

你在你需要导出的页面写个方法 

function DaoChu (){  location.href = "DaoChu.aspx";}

然后在 DaoChu.aspx 页面的后台Page_Load  中 直接写以下代码 

 

 string html = "<table><tr><td>1</td><td>11</td></tr><tr><td>2</td><td>22</td></tr></table>";        Response.ContentType = "application/force-download";        Response.AddHeader("content-disposition",          "attachment; filename=" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");        Response.Write("<html ");        Response.Write("<head>");        Response.Write("<META http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">");        string fileCss = Server.MapPath("~/css/daoChuCSS.css");        string cssText = string.Empty;        StreamReader sr = new StreamReader(fileCss);        var line = string.Empty;        while ((line = sr.ReadLine()) != null)        {          cssText += line;        }        sr.Close();        Response.Write("<style>" + cssText + "</style>");        Response.Write("<!--[if gte mso 9]><");        Response.Write("<x:ExcelWorkbook>");        Response.Write("<x:ExcelWorksheets>");        Response.Write("<x:ExcelWorksheet>");        Response.Write("<x:Name>Report Data</x:Name>");        Response.Write("<x:WorksheetOptions>");        Response.Write("<x:Print>");        Response.Write("<x:ValidPrinterInfo/>");        Response.Write("</x:Print>");        Response.Write("</x:WorksheetOptions>");        Response.Write("</x:ExcelWorksheet>");        Response.Write("</x:ExcelWorksheets>");        Response.Write("</x:ExcelWorkbook>");        Response.Write("</");        Response.Write("<![endif]--> ");        Response.Write(html);//HTML        Response.Flush();        Response.End();

这样 就好了 ,html 代码 最好是table里面写,因为EXCEL  其实就是 table 。