首先这个 不能用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 xmlns:x=/"urn:schemas-microsoft-com:office:Excel/">"); 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]><xml>"); 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("</xml>"); Response.Write("<![endif]--> "); Response.Write(html);//HTML Response.Flush(); Response.End();
这样 就好了 ,html 代码 最好是table里面写,因为EXCEL 其实就是 table 。
希望帮助到的同学 留下你宝贵的评论,谢谢
新闻热点
疑难解答