生成具有内容附件的 Word 文档

本文关键字:Word 文档 | 更新日期: 2023-09-27 18:33:53

我有一个 word 文档模板,它只在几个字段中更改。

我记得使用 google-fu 环顾四周,发现您可以将 xml 绑定到内容控件并通过该方法动态生成 word 文档。

不幸的是,自从我重新审视这个特定问题以来已经有一段时间了,我对这个问题的记忆只是它非常笨拙且难以管理。

有没有更优雅的开源解决方案?或者更好的方法?

生成具有内容附件的 Word 文档

我认为将

内容控制XML数据绑定描述为支持Word文档生成/自动化的一系列技术中的最新技术是公平的。

内容控件数据绑定是在 Word 2007 中引入的,因此现在并不是那么新。 执行文档自动化时,通常还需要支持:

  • 有条件地包含/排除内容
  • 重复数据(例如表格行、列表项(

有一些方法可以通过内容控件实现上述两项操作,Microsoft最近发布了对重复数据的专用支持。

内容控件数据绑定比旧方法不那么脆弱,但如果您不喜欢 XML 和 XPath,则可能不会称其为优雅 :-(

Word 的"内置"旧方法包括:

  • :合并域、表单域或自定义域
  • 书签的使用

这些问题是作者用户很容易错误地删除它们。 另一个问题是,对于开发人员来说,在XML级别使用它们并不容易(尽管通过VBA或VSTO可能没问题(。

另一种方法是在文档图面上包含魔术文本字符串,并且有各种工具可以执行此操作。 这具有最初的吸引力,但这样做的问题是,文档图面上看起来像连续文本字符串的内容可以在 XML 级别拆分,因为:

  • 拼写/语法更正
  • RSID(在不同时间或由不同人进行的编辑(
  • 格式(例如字体大小,外观更改(

简而言之,是的,还有其他选择。 选择你的毒药。