关于HTML的word导出

导出过程,把整个HTML中的一个DIV控件作为System.Web.UI.Control,转化为一长串string。然后进行导出,加上word的头,也就是样式,之后加上尾就能拼一个word文件出来。

在导出的过程中,div的样式也不是完全无效的,并且用js做的效果是不改变原先的html代码,特别是某些需要隐藏的div或者tr,虽然在页面上可以显示出看不到,可是导出的时候还是按照源html导出,所以先前被js隐藏过后的div等,导出的时候还会存在。这个处理方法比较简单的。只需要把我们的控件做成服务端的,触发事件,对需要隐藏的控件设置为visible=false,这样就可以解决了。之前的盖章无法导出也是因为我刚开始就写上了display:none,所以就算用js让它显示了,也是无法导出的。

虽然现在导出盖章是没有问题了,可是导出的图片还不能浮在文字上方,需要自己修改。

其实一切都是有关word的头样式,我也找了很多时间,比如“p.MsoHeader, li.MsoHeader, div.MsoHeader”就是页眉的样式,我加上后,发现还缺少样式。再把做好页眉的word上面,另存为html后看源码(其实导出的时候会出现一个文件夹,里面有页眉的资料),发现在页眉之外还有个div代码如:“<div style='mso-element:header' id=eh1>”,这个样式在网上找了点时间没能找到。

在我们的系统中,word导出的关键的"ToExcelFacade.cs"中"ToWordByString"方法已经加了很多的word样式头。比较复杂。要完全掌握导出的话,还需要找全所有的word样式,才有可能。有待研究。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值