Word模板中动态内容的自定义占位符/标记

时间:2011-06-24 17:19:42

标签: c# .net openxml wordml

我有一个Web应用程序(ASP.NET C#),我希望用户能够上传单词模板(实际上是带有预定义标记集作为占位符的单词文档)。复杂的部分原因是我也想允许使用循环。最后,我希望能够解析XML并用从数据库中提取的内容替换占位符。 例如,概念模板可能是:

Name: <firstName> <lastName>
Phone Numbers:
<for-each:phoneNumber>
Region Code: <regionCode>
Number: <number>
</end:for-each>

是否有解决此问题的现有解决方案?有没有人试图实现这个或类似的?

2 个答案:

答案 0 :(得分:1)

我已经记录了我在opendope.org上设计的方法

它基于CustomXML数据绑定(不要与i4i专利闹剧中的问题混淆),扩展为允许循环。

有关概念验证演示,请访问www.fabdocx.com

据我所知,目前还没有OpenXML SDK C#实现,但您可以转换等效的Java代码。

答案 1 :(得分:1)

是的,现有的解决方案正是如此 - Windward(免责声明 - 我是那里的首席技术官)。使用Windward,您可以像显示的那样在Word,Excel或PowerPoint中设计模板,然后将数据合并到其中。

BTW - 同时像&lt; first-name&gt;这样的标签。很容易,因为每个标签都可以非常复杂,具体取决于它们的开始/结束位置。 (迎风处理这个。)