2010-10-04 111 views
2

我一直在检查Office Open XML规范对于文档的可能性。我特别感兴趣的是能够将自定义XML内容添加到文档并将其绑定到内容控件。我想知道是否有可能拥有重复的内容控制类型?使用Office Open XML重复内容

例如,假设我在.docx文件的一些自定义XML,看起来像这样:

<Work> 
    . 
    . 
    <People> 
    <Person> 
     <Name>Jane Doe</Name> 
     <EmailAddress>[email protected]</EmailAddress> 
    </Person> 
    <Person> 
     <Name>John Doe</Name> 
     <EmailAddress>[email protected]</EmailAddress> 
    </Person> 
    </People> 
</Work> 

是否有重复的内容控制(类似于ASP中继器),我可以用它来生成输出看起来像

如果没有类型的控件,我想我可以对word文档本身做一些处理来生成一个列表。有没有人这样做,并有一些有用的指针?

回答

0

在Word 2007/2010中没有用于重复内容的内置内容控件。我想到以下可能性:

  • 使用Open XML SDK以编程方式创建完整内容。没有数据绑定。
  • 使用Word的MailMerge功能来显示几个相似的数据集。
  • 使用InfoPath对重复内容有更好的支持
  • 使用第三方解决方案,如Windward Reports。

更新: Word 2013现在拥有用于重复部分的内容控件。

+0

感谢您指向Windward Reports。这看起来非常有用,尽管我认为我现在正在做的事情是,我打算用你的第一个项目符号去编程式地创建它 – 2010-10-05 18:21:38

1

在Word 2013中,内容控件有一些改进。包括重复的内容控制。我没有测试它。

http://msdn.microsoft.com/en-us/library/office/jj889465.aspx#WordCC_RepeatingSection

使用Word 2007和2010年,你必须做一些extraprocessing与内容控制创建行,并用产生的Xpath查询约束力。您可以查看以下视频。

http://www.microsoft.com/uk/msdn/screencasts/screencast/261/Office-Open-XML-Content-Controls-and-Repeating-Data-Part-1-of-3.aspx

+0

视频链接不再有效。你知道今天可以找到哪里吗? – JoeBrockhaus 2014-10-09 15:35:32

+0

您可能对我的博客文章感兴趣http://www.docx4java.org/blog/2015/01/i-have-my-xml-now-what/和http://www.docx4java.org/blog/ 2015/01 /字-2013-repeatingsection化内容的控制,准备就绪的黄金时段/ – JasonPlutext 2015-02-09 11:02:26