最近要把HTML页面中的Table导出到Excel中去,可是Table的样式没有在Excel中显示出来,后来百度了一下,也买发现解决办法,大部分都提到了NPOI插件去解决,但是因为时间少没时间去看,后来自己尝试了把导出到Excel中的字符串写入文本看了下,然后在复制到一个html页面才发现是样式的问题。最后使用行内样式解决了问题。
html页面的代码:
| 合计 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||
--%>
后台导出代码:Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls");
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
datatable.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
其实只需要把以前写在class里面的样式直接写成行内样式就可以解决了,下面是页面效果


Excel中的效果:


本文介绍了在将HTML表格导出到Excel时遇到样式丢失的问题,通过分析发现是样式转换的问题。作者提到使用NPOI插件可能是解决途径之一,但最终通过将CSS样式改为行内样式成功解决了问题。后台导出代码示例中展示了如何将DataTable内容写入Excel,并强调只需将样式从class转换为行内样式即可在Excel中正确显示。
1万+

被折叠的 条评论
为什么被折叠?



