前些天写项目的时候,客户要求用HTML表格把信息展示出来,后面还要用展示的内容要导出Excel。本来想想在后台操作的话估计是要做死了,但是经过细想,Excel能够发布成HTML,一定也可以由HTML转成Excel。经过几次搜索,算是把问题完善解决了代码如下(不能用Ajax调用来完成,因为Ajax不会刷新页面)
方法/步骤
1
1、首先把html的内容传到后台,由于是Html的内容应该选择安全的验证关掉
3
3、把你的样式放在一个css文件里面,这样当你去实现转换的时候你会有与页面相同的样式
4
4、在方法中写入如下代码就能够实现下载 Response.ContentType = 'application/force-download'; Response.AddHeader('content-disposition', 'attachment; filename=' + DateTime.Now.ToString('yyyyMMddHHmmss') + '.xls'); Response.Write(''); Response.Write('
'); Response.Write(''); #region 样式的读取 string fileCss = Server.MapPath('~/Content/CalCSS/tableCss.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(''); #endregion Response.Write(' '); Response.Write(strHtml1);//这里是前台页面的HTML Response.Flush(); Response.End();注意事项
不能用Ajax调用来完成,因为Ajax不会刷新页面