2010-10-04 7 views
2

J'ai vérifié ce qui est possible avec la spécification Office Open XML pour les documents. Je suis particulièrement intéressé par la possibilité d'ajouter du contenu XML personnalisé à un document et de le lier aux contrôles de contenu. Je me demandais s'il est possible d'avoir un type de contrôle de contenu répétitif?Répétition de contenu avec Office Open XML

Par exemple, dire que j'ai un peu XML personnalisé dans mon fichier .docx qui ressemble à ceci:

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

Y at-il un contrôle du contenu répétitif (similaire à un répéteur ASP) que je pourrais utiliser pour générer une sortie qui ressemble à quelque chose comme

S'il n'y a pas de types de contrôles, je suppose que je pourrais faire un traitement sur le document Word lui-même pour générer une liste. Est-ce que quelqu'un a fait cela et a des conseils utiles?

Répondre

0

Il n'existe aucun contrôle de contenu intégré pour la répétition de contenu dans Word 2007/2010. Les possibilités suivantes me viennent à l'esprit:

  • Créez le contenu complet par programmation en utilisant le SDK Open XML. Pas de liaison de données cependant.
  • Utilisez la fonction MailMerge de Word pour afficher plusieurs ensembles de données similaires.
  • Utilisez InfoPath qui prend mieux en charge la répétition de contenu
  • Utilisez une solution tierce telle que Windward Reports.

Mise à jour: Word 2013 dispose désormais d'un contrôle de contenu pour les sections récurrentes.

+0

Merci pour le pointeur vers les rapports Windward. Cela semble très utile bien que je pense que pour ce que je fais actuellement, je vais aller avec votre première balle et le créer par programme –

1

Avec Word 2013, les contrôles de contenu ont été améliorés. Y compris un contrôle de contenu répétitif. Je ne l'ai pas testé.

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

Word 2007 et 2010, vous devez faire quelques extraprocessing pour créer des lignes avec le contrôle du contenu et de les lier avec la requête générée XPath. Vous pouvez vérifier la vidéo suivante.

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

+0

le lien vidéo ne fonctionne plus.Savez-vous où cela pourrait être trouvé aujourd'hui? – JoeBrockhaus

+0

Vous pourriez être intéressé par mes articles de blog http://www.docx4java.org/blog/2015/01/i-have-my-xml-now-what/ et http://www.docx4java.org/blog/ 2015/01/word-2013-repeatingsection-content-controls-ready-for-prime-time / – JasonPlutext

Questions connexes