生成具有内容附件的 Word 文档
本文关键字:Word 文档 | 更新日期: 2023-09-27 18:33:53
我有一个 word 文档模板,它只在几个字段中更改。
我记得使用 google-fu 环顾四周,发现您可以将 xml 绑定到内容控件并通过该方法动态生成 word 文档。
不幸的是,自从我重新审视这个特定问题以来已经有一段时间了,我对这个问题的记忆只是它非常笨拙且难以管理。
有没有更优雅的开源解决方案?或者更好的方法?
我认为将
内容控制XML数据绑定描述为支持Word文档生成/自动化的一系列技术中的最新技术是公平的。
内容控件数据绑定是在 Word 2007 中引入的,因此现在并不是那么新。 执行文档自动化时,通常还需要支持:
- 有条件地包含/排除内容
- 重复数据(例如表格行、列表项(
有一些方法可以通过内容控件实现上述两项操作,Microsoft最近发布了对重复数据的专用支持。
内容控件数据绑定比旧方法不那么脆弱,但如果您不喜欢 XML 和 XPath,则可能不会称其为优雅 :-(
Word 的"内置"旧方法包括:
- 域
- :合并域、表单域或自定义域
- 书签的使用
这些问题是作者用户很容易错误地删除它们。 另一个问题是,对于开发人员来说,在XML级别使用它们并不容易(尽管通过VBA或VSTO可能没问题(。
另一种方法是在文档图面上包含魔术文本字符串,并且有各种工具可以执行此操作。 这具有最初的吸引力,但这样做的问题是,文档图面上看起来像连续文本字符串的内容可以在 XML 级别拆分,因为:
- 拼写/语法更正
- RSID(在不同时间或由不同人进行的编辑(
- 格式(例如字体大小,外观更改(
简而言之,是的,还有其他选择。 选择你的毒药。