我想在MS Word中使用自定义内容控件嵌入T4模板。以下图片说明了一切:
<< Insufficeint repuation post images: 想象一下带有包含T4标记的自定义内容控件的MS Word文档。非常简单。我会尽快添加图片。 >>
我正在使用Office 2010并启用了开发者模式。
有趣的是,对于一些不同的客户,我使用了自定义内容控件,但是嵌入了XSL / XPath查询。这很有效,但需要结构良好的XML才能高效工作。
<< Insufficeint repuation post images: 想象一下包含XPath查询的自定义内容控件的MS Word文档。包括XSLT样式for-each()循环和value-of()>>
使用Word.Interop实现文档处理器非常简单 - 上图的解析器从开始到结束大约需要3个小时。然而,使用T4并不是那么简单。
我正在考虑的方法是使用序列化的word文档,并用T4标记替换自定义控件(生成T4模板)并将其提供给T4编译器。这将是相当多的工作。操作序列化的word文档会非常困难。
一些可能的方法:
所以,我的问题是:
有趣的是,我已经使用T4模板很长一段时间了,发现它们很棒。在过去生成文档时,我使用T4生成XML,然后将XML链接到MS Word模板以生成文档。所有这些都包含在MSBuild脚本中,我们为我们的软件提供了完整的构建过程,包括面向客户的文档。