我一直在查看Office Open XML规范对文档的可能性。我特别感兴趣的是能够将自定义XML内容添加到文档并将其绑定到内容控件。我想知道是否有可能有重复的内容控制类型?
例如,假设我的.docx文件中有一些自定义XML,如下所示:
<Work>
.
.
<People>
<Person>
<Name>Jane Doe</Name>
<EmailAddress>jane@abc.com</EmailAddress>
</Person>
<Person>
<Name>John Doe</Name>
<EmailAddress>john@xyz.com</EmailAddress>
</Person>
</People>
</Work>
是否有任何重复内容控件(类似于ASP转发器)可用于生成类似于
的输出如果没有类型的控件,我想我可以对word文档本身进行一些处理以生成列表。有没有人这样做并有一些有用的指示?
答案 0 :(得分:3)
正如0xA3所说,没有像这样内置的内容,它将被WordprocessingML操纵。但是这里有一个从数据库中提取数据以创建多个条目的示例:Pushing Data from a Database into a Word Document。
此外,关于数据绑定的主题,一般来说,这是一个很好的入门教程:Linking Word 2007 Content Controls to Custom XML。
答案 1 :(得分:2)
使用Word 2013,内容控件有一些改进。包括重复内容控件。我没有测试过。
http://msdn.microsoft.com/en-us/library/office/jj889465.aspx#WordCC_RepeatingSection
使用Word 2007和2010,您必须执行一些额外的处理来创建具有内容控件的行,并将它们与生成的Xpath查询绑定。您可以查看以下视频。
答案 2 :(得分:0)
在Word 2007/2010中没有用于重复内容的内置内容控件。我想到了以下几种可能性:
更新:Word 2013现在具有重复部分的内容控制。
答案 3 :(得分:0)
http://dev.plutext.org/svn/docx4j/trunk/docx4j/sample-docs/databinding/conventions.html提出了这样做的约定。您需要预处理docx以克隆内容控件n次;目前有通过Word宏或Java(docx4j)执行此操作的代码。