首页 > 代码库 > 第十二篇 HTML 直接转成Excel
第十二篇 HTML 直接转成Excel
前些天写项目的时候,客户要求用HTML表格把信息展示出来,后面还要用展示的内容要导出Excel。本来想想在后台操作的话估计是要做死了,但是经过细想,Excel能够发布成HTML,一定可以由HTML转成Excel。经过几次搜索,算是把问题完善解决了代码如下:
1 Response.ContentType = "application/force-download"; 2 Response.AddHeader("content-disposition", 3 "attachment; filename=" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"); 4 Response.Write("<html xmlns:x=\"urn:schemas-microsoft-com:office:excel\">"); 5 Response.Write("<head>"); 6 Response.Write("<META http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">"); 7 8 9 #region 样式的读取10 11 string fileCss = Server.MapPath("~/Content/CalCSS/tableCss.css");12 string cssText = string.Empty;13 StreamReader sr = new StreamReader(fileCss);14 var line = string.Empty;15 while ((line = sr.ReadLine()) != null)16 {17 cssText += line;18 }19 sr.Close();20 Response.Write("<style>" + cssText + "</style>");21 22 #endregion23 24 Response.Write("<!--[if gte mso 9]><xml>");25 Response.Write("<x:ExcelWorkbook>");26 Response.Write("<x:ExcelWorksheets>");27 Response.Write("<x:ExcelWorksheet>");28 Response.Write("<x:Name>Report Data</x:Name>");29 Response.Write("<x:WorksheetOptions>");30 Response.Write("<x:Print>");31 Response.Write("<x:ValidPrinterInfo/>");32 Response.Write("</x:Print>");33 Response.Write("</x:WorksheetOptions>");34 Response.Write("</x:ExcelWorksheet>");35 Response.Write("</x:ExcelWorksheets>");36 Response.Write("</x:ExcelWorkbook>");37 Response.Write("</xml>");38 Response.Write("<![endif]--> ");39 40 Response.Write(strHtml1);//这里是前台页面的HTML41 42 Response.Flush();43 Response.End();
经过测试能够完全的展示页面的样式和规格:
前台HTML:
生成后的HTML:
第十二篇 HTML 直接转成Excel
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。