我试图使用通过OpenXML SDK作为模板在.NET Web应用程序中为表单字母(本质上)读取的docx。我有一个我想要的格式的docx,用从xsd定义的XML Schema标记标记(无论它们被称为什么,这个帮助在这方面是非常无用的)。使用XML Schema和OpenXML SDK的WordML模板
我在Google上发现的唯一类似的东西似乎是用文本元素替换所需数据的CustomXmlBlock元素。这似乎......凌乱而脆弱。
我还有一些复杂的问题,即某些数据是分层的,包含节的元素,然后是该节的项。这似乎完全打破了上述方法。
那么,有人可以指出我正确的方向做这件事,或建议一个更好的方式来处理模板形式的信件?
哇,这很好,我甚至不知道内容控制存在。我会接受并奖励赏金,虽然我有一个问题,更像是一个确认。看起来,内容控件没有内置支持任何类型的重复结构(表格,列表等)。我假设我将Rich Text Content Control作为占位符放入文档中,然后使用OpenXML sdk生成表或列表并将其设置为内容控件的内容? – 2010-09-25 06:46:26
@Matt S:我已经添加了一些额外的链接,这些链接也可以帮助你开始。有许多方法可以通过内容控制来实现中继器 - 其中一个就是您提到的内容。另一种方法是使用Building Block。另一种方法是做一些与你所提到的相反的事情 - 把一张只有一个标题行的表格,然后在单元格中创建填充了CC的行。不妨看一下Word内容控制工具包 - 这样可以节省你与CC合作的时间,直到你变得更加熟悉。 – 2010-09-25 15:46:44
@Matt S,这基本上是正确的。您需要一种方式来说明哪个内容控件是重复的占位符。 http://dev.plutext.org/svn/docx4j/trunk/docx4j/sample-docs/databinding/conventions.html提供了一种方法来做到这一点。 – JasonPlutext 2010-11-05 22:08:59