从html导出带样式的excel,关于将HTML导出到Excel中时样式的问题

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

最近要把HTML页面中的Table导出到Excel中去,可是Table的样式没有在Excel中显示出来,后来百度了一下,也买发现解决办法,大部分都提到了NPOI插件去解决,但是因为时间少没时间去看,后来自己尝试了把导出到Excel中的字符串写入文本看了下,然后在复制到一个html页面才发现是样式的问题。最后使用行内样式解决了问题。

html页面的代码:

单位名称

设备在线

设备离线

当前故障情况

待受理

待完工

待程序检测

待人工确认

报修总数

runat="server" />

runat="server" />

runat="server" />

runat="server" />

runat="server" />

runat="server" />

runat="server" />

runat="server" />

合计

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里面的样式直接写成行内样式就可以解决了,下面是页面效果

0818b9ca8b590ca3270a3433284dd417.png

1350543206_3467.jpg

Excel中的效果:

0818b9ca8b590ca3270a3433284dd417.png

1350543225_9429.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值