J'utilise VSTO pour remplir des données dans une table dans un modèle Microsoft Word 2007. La quantité de données varie et remplir de nombreuses pages (+50) prend beaucoup de temps.Microsoft Word 2007 VSTO, Créer une table hors du mot?
Le code que j'utilise pour créer une table:
Word.Table table = doc.Tables.Add(tablePosition,
numberOfRows,
8,
ref System.Reflection.Missing.Value,
ref System.Reflection.Missing.Value);
Je soupçonne que la consommation de temps est due à la communication entre Visual Studio (C#) et Word chaque fois que j'insérer des données dans une cellule. Si c'est le cas, il pourrait être plus rapide de créer la table en C# et ensuite l'insérer dans Word.
Le Microsot.Office.Interop.Word.Table est une classe abstraite - donc je ne peux pas le faire
Word.Table table = new Word.Table();
qui aurait été à portée de main.
Existe-t-il d'autres possibilités lorsque vous utilisez simplement VSTO?
Comment insérez-vous les données dans la table Word? D'une boucle for/next de la DB? D'un pour/suivant d'un tableau? –
@Otaku: D'abord, je fais une requête Linq2SQL et dans une instruction foreach suivante, j'insère des données de la requête dans chaque cellule de la ligne courante de la table. - Cela a-t-il un sens? – Chau