Aspose.Words for .net 踩坑记录
需求
最近碰到一个需求,客户要求根据他们的 word 文档模板,填入相关业务数据,最后导出。
客户的模板就是一个 word 表格,有些列需要插入图片,其余都是些文字描述。
思路
- 将模板中不变的内容 hard code,并将有变化的内容填入。
- 在需要填入内容的位置插入书签,并保存模板。每次导出时,先加载模板,并在不同的书签位置插入相应的内容。
选择
以上两种思路都可以达到目的,但最终选择了思路二。
思路一每次都要做很多重复的工作,代码中有很多 hard code 的地方,对于日后的维护相当不友好。
思路二虽然依赖于书签,但可以专注于业务逻辑,hard code 的量少了很多,易于维护。
实现
官方文档非常详尽,并有大量的 demo。参考官方文档是最好的选择,不过最好先了解一下 Aspose.word 各个组件和类的结构,对于实现有事半功倍的效果。
官方文档及示例