Question

J'ai besoin de renseigner un document Word 2007 à partir de code, y compris la répétition de sections de tableau. J'utilise actuellement une transformation XML sur la partie document.xml du document docx. Toutefois, cette installation prend énormément de temps (chaque fois que vous modifiez). Dans le modèle de document, vous devez recréer le fichier transform.xsl, ce qui peut prendre jusqu’à une journée pour les documents complexes).

Existe-t-il un meilleur moyen, de préférence ne vous obligeant pas à exécuter Word 2007 au cours du processus?

Cordialement Richard

Était-ce utile?

La solution

J'ai moi-même essayé d'écrire du code à cette fin, mais j'ai abandonné. Maintenant, j'utilise un produit tiers: Attribuer des mots et je suis assez satisfait de ce composant.

Microsoft Word n’a pas besoin sur la machine.

"Aspose.Words permet aux applications .NET et Java de lire, modifier et écrire des documents Word® sans utiliser Microsoft Word®."

"Aspose.Words prend en charge un large éventail de fonctionnalités, notamment la création de documents, la manipulation de contenu et de formatage, de puissantes fonctions de fusion et publipostage, un support complet des formats DOC, OOXML, RTF, WordprocessingML, HTML, OpenDocument et PDF. Aspose.Words est véritablement le composant Word le plus abordable, le plus rapide et le plus riche en fonctionnalités du marché. "

AVERTISSEMENT : je ne suis pas affilié à cette société.

Autres conseils

Etant donné qu'un fichier DOCX est simplement un fichier ZIP contenant une structure de dossiers avec des images et des fichiers XML, vous devriez pouvoir manipuler ces fichiers XML à l'aide de notre API de manipulation XML préférée. La spécification du format est connue sous le nom WordprocessingML , qui fait partie du standard Office Open XML. .

Je pensais le mentionner au cas où l'outil tiers proposé par splattne ne serait pas une option.

Utilisez invoke docx lib. il prend en charge les données de table ( http://invoke.co.nz/products/help/docx_tables .aspx ). Plus d'infos sur http://invoke.co.nz/products/docx.aspx

Avez-vous envisagé d’utiliser VB? Vous pouvez créer un assemblage séparé pour renseigner votre document.

Je sais que vous recherchez une solution C #, mais la prise en charge littérale XML est un domaine dans lequel la prise en charge littérale XML pourrait vous aider à remplir le document. Créez un document dans Word au serveur en tant que modèle, décompressez le document, collez la section XML appropriée à modifier dans votre code VB et ajoutez du code pour remplir les éléments à modifier. Il est difficile de dire d'après votre description si cela répond à vos besoins, mais je suggérerais de l'étudier.

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