首先这个 不能用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 。
原标题:C#将HTML导出Excel
关键词:C#