-
Office Web Components
:salut:
Il faudrait que je créé des graphiques que je puisse mettre aussi bien sur une application web en ASP/VB.Net et sur Word.
Je n'y connaît rien du tout dans ce domaine et je ne sais si je dois utiliser Microsoft Office Web Components ou le PIA.
Je ne trouve pas trop de ressources à ce sujet en terme de tutoriels.
Tout objet doit pouvoir être créé dynamiquement par code car le but serait de créer des graphiques depuis VB.Net et d'insérer les graphique aussi bien sur la page ASP que sur un document Word.
Que me conseillez-vous ?
:merci:
-
Bonjour,
Les Office Web Components sont un ensemble de contrôles qui permettent (ou même permettaient) aux applications Office une certaine interaction avec le monde de l'Internet. Ils ont été créés pour Office 2002 et refaits pour Office 2003. Ceux d'Office 2003 ont été mis à jours pour Office 2007. Sauf que tu dois absolument de limiter à des solutions x86. Ils ne sont pas compatibles avec les Office à 64 bits. Cela ne cause pas de problème jusqu'à Office 2007 inclus. Sauf que, depuis Office 2010, Office est disponible en versions 32 bit ou 64 bits. (En passant c'est la même chose pour les contrôles VB6 et Managed DirectX : x86 seulement.)
Les PIA (Primary Interop Assembly) pour les intimes, sont l'équivalent optimisé et nettoyé des wrappers que le Framework crée automatiquement quand on ajoute une référence à un ActiveX ou à un programme COM. Puisque ils ont été créés "sur mesure", ils sont préférables aux wrappers "automatiques" du Framework.
Je ne suis pas un grand expert d'ASP .net ou pas .net, mais il y a essentiellement trois façons pour VB.net, en fait c'est pareil pour C#, d'écrire des fichiers Office.
1) En utilisant la classe system.io.packaging
2) Pour Word, Excel et PowerPoint; le SDK Open XML, et sa "fameuse" dll DocumentFormatOpenXML.dll encapsulent System.IO.Packaging dans une forme un peu plus digeste.
Dans ces deux cas, on peut écrire et lire directement les fichiers, sans avoir installé Office; sauf que cela ne fonctionne pas avec les fichiers Office d'avant Office 2007.
2a) Pour Excel et Word, il existe des contrôles .net basés sur OpenXML qui sont plus faciles d'emploi que DocumentFormatOpenXML.dll, même s'il faut aussi l'avoir à portée.
Il y a au moins EPPlus, ClosedXML et DocX chez CodePlex
Jusqu'ici, tu pourrais presque certainement éviter les Office Web Components, utiliser les contrôles du Framework et avoir quand même tes fichiers Word.
La troisième façon, c'est essentiellement de piloter Word par automation, comme si c'était d'utiliser Excel pour piloter Word. Dans ce cas, OWC fournit les contrôles et les PIA fournissent les Wrappers vers Word. (En fait, depuis VS2010, VB va utiliser automatiquement les PIA s'ils sont installés, même si tu établis directement la référence à Word dans les composants COM. Avec cela, tu peux aussi travailler avec les fichiers Word d'avant Office 2007.
Une autre chose qui existe, mais je vois mal comment tu pourrais arrimer cela avec ASP.net, c'est la possibilité, avec les Éditions Community et "supérieures" d'utiliser VS pour créer des "add-ins" pour Office.
Cela va te faire un peu beaucoup à digérer, mais c'est la réponse que ta question m'inspire. Au besoin, on pourra élaborer.
Exemples Open XML (Désolé, je te laisse trier)
-
:salut:
Merci pour la réponse, en fait je pense que je vais passer sur PIA. Il faut en effet que les postes sur lesquels va tourner le programme, soient équipé de toutes ces bibliothèques. Dans notre parc informatique, tous les PC ont la même installation de base y compris Office 2013 avec les outils de développement Office dont le PIA. Cela dit, je ne trouve pas beaucoup de ressources à ce sujet pour créer des graphiques.