首页 > 代码库 > 第十二篇 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