Question

La création de documents Word à partir de modèles est automatisée à l'aide de la " Bibliothèque d'objets Microsoft Word 12.0 " dans mon projet, mais c'est trop lent. Je recherche des alternatives: j'ai besoin de créer un document à partir d'un modèle, d'exécuter des macros et d'insérer du texte et des tableaux dans différentes plages de signets (certaines options de formatage de texte seraient également utiles). Je souhaite seulement que le document final soit compatible avec Word2007 , mais préférerais une solution facilement disponible à partir de .NET (d'autres recommandations sont également appréciées) ...

S'il vous plaît aviser.

Était-ce utile?

La solution

Consultez le Brian Jones et Erika Ehrli .

Cet exemple de CodeProject pourrait également être un bon début: Création de un document Word 2007 utilisant le SDK au format Open XML .

Je vous recommande également de consulter DocumentReflector, un outil inclus dans le kit de développement logiciel (SDK), qui crée le code permettant de produire un certain document Word basé sur un document existant.

Autres conseils

Options que j'ai utilisées jusqu'à présent:

  1. Vôtre - Automatisation COM: les performances n'étaient pas le principal problème ici pour moi, juste tous les détails laids de l'automatisation COM comme les processus morts, les fichiers verrouillés, ...; pour certaines tâches où une API existe et tant que seule la personne utilise l'application, c'est encore une option. Nécessite l'installation de Word.
  2. Importer en tant que HTML et enregistrer en tant que Word - fonctionne rapidement et mieux que prévu, tant que votre format de mot est simple et correspond assez bien à la structure de balisage HTML (par exemple, en-têtes, listes d’articles). Pour simplifier la gestion, les modèles doivent être HTML, puis, si souvent un hack rapide pour un cas d'utilisation limité. Nécessite l'installation de Word.
  3. Concaténer et traiter les modèles enregistrés en tant que WordML: vous évite la douleur de COM l’automatisation, mais comme WordML n’est qu’un format binaire masqué en XML, il est souvent pénible; par conséquent, certaines tâches sont plus compliquées que d'utiliser une API Word. Néanmoins, je le préfère à 1. Ne nécessite pas d'installation de Word.
  4. Comme dans la réponse précédente, OpenXML SDK: commencer à l'utiliser, semble être un bon compromis de 1 et 3: travail au niveau XML ou au niveau API - ce qui convient le mieux à un certaine caractéristique. Ne nécessite pas d'installation de Word.
  

d'autres recommandations sont également appréciées

Les équivalents Java du SDK OpenXML sont docx4j (mon projet) et les points d'intérêt.

En utilisant docx4j, vous pouvez injecter des macros dans un docx existant ou travailler à partir d'un point (comme le suggère divo).

Officewriter est une autre option.

  

L’API OfficeWriter est une bibliothèque .NET qui vous permet de générer,   manipuler et lire des documents Excel et Word à partir de vos propres   applications.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top