2010-06-15 14 views
3

J'essaie de générer des documents Word en utilisant open xml sdk. Lorsque les documents sont petits cela ne pose aucun problème (et plutôt facile). Lorsque les documents deviennent plus grands (+500 pages), je remarque que la performance (durée, utilisation de la mémoire, ...) diminue considérablement. Googling ce problème je suis tombé sur some posts qui soulignent le même problème. Pour Excel, il existe une solution avec spreadsheetgear.Existe-t-il une alternative à open-xml sdk pour générer des documents Word

Je voudrais savoir s'il existe une alternative à ce mot ou s'il existe d'autres solutions pour générer des documents Word?

Merci, Jelle

+1

Je viens d'utiliser 'System.IO.Packaging' directement et de gérer toutes les conversions en XML moi-même. Le SDK ne m'offre vraiment rien que je ne puisse pas faire moi-même. –

+0

Je dois fusionner un document xml contenant des données dans le document Word. Pour ce faire, j'utilise flexDoc (http://flexdoc.codeplex.com/) pour marquer les endroits où les données doivent être insérées. Cela fonctionne mais ça va très lentement. Connaissez-vous une meilleure façon de le faire? – Jelle

+0

Je ne fais pas autre chose que de recréer des fonctionnalités similaires à celles de flexDoc. Il utilise lui-même le OOXML-SDK, ce qui est susceptible de rendre les choses un peu plus lentes. Il utilise également XSLT, qui peut être lent en fonction de la façon dont il est créé. Enfin, on dirait qu'il utilise le client Winword - c'est probablement ce qui le ralentit considérablement. Désolé, je ne peux pas être plus utile ici. –

Répondre

0

J'ai décidé d'aller avec Aspose Words. C'est vraiment rapide et pas très exigeant sur les ressources (CPU, mémoire). Il a l'inconvénient que c'est assez cher. J'ai également étudié Softartisans Office writer. Les possibilités sont les mêmes, mais en raison du fait que la société pour laquelle je travaille actuellement déjà utilisé d'autres composants Aspose, nous avons décidé d'aller avec Aspose Word.

2

J'ai écrit une série de blog sur la génération de documents Word XML XML. L'approche que je prends est que vous créez un document Word modèle, insérez des contrôles de contenu, puis écrivez des expressions XPath dans ces contrôles de contenu pour spécifier le XML à extraire d'un fichier de données XML source. J'ai également exploré une autre approche où vous écrivez du code C# dans les contrôles de contenu Open XML. Cette approche fonctionne également.

http://ericwhite.com/blog/map/generating-open-xml-wordprocessingml-documents-blog-post-series/

-Eric