web-dev-qa-db-fra.com

Création d'un complément pour Excel à l'aide de C #

Je veux utiliser des méthodes de classe C # dans Excel. Quelqu'un peut-il me guider comment le faire? Le composant C # sera un complément Excel. Comment créer la configuration de ce complément, de sorte que je dois simplement donner la configuration à l'utilisateur qui installera le complément sur la machine du client. L'utilisateur ne devrait pas avoir à effectuer d'autres étapes comme l'enregistrement de la DLL C #.

25
Sambhaji

Vous devrez créer un nouveau projet Visual Studio de type Complément Excel 2007 (ou Complément Excel 2003). L'option pour cela peut être trouvée (dans Visual Studio 2008) à:

New Project dialog -> Project types -> Visual C# -> Office

Ce complément devra être installé sur la ou les machines cibles.

Le complément pourra se connecter au modèle d'objet Excel et donc accéder à toutes les feuilles de calcul chargées, etc.

Le complément pourra également ajouter des boutons à la barre d'outils/au ruban Excel.

12
Richard Ev

(Avertissement: je développe la bibliothèque Excel-Dna.)

Vous devriez jeter un œil à Excel-Dna - http://exceldna.codeplex.com . La bibliothèque permet aux assemblys gérés écrits en C #, VB.NET ou F # d'exposer des fonctions définies par l'utilisateur (UDF) hautes performances et des macros à Excel via l'interface native .xll. Le projet est open-source et permet librement une utilisation commerciale.

Avec Excel-Dna, vous pouvez créer un seul fichier complémentaire .xll que l'utilisateur peut ouvrir en tant que complément sans autre installation ou enregistrement. Les compléments Excel-Dna peuvent exposer des serveurs RTD et des rubans personnalisés pour Excel 2007 et Excel 2010 sans inscription supplémentaire, vous n'avez donc pas besoin de programme d'installation supplémentaire.

38
Govert

Essayez de regarder VSTO , il y a ne section explicitement pour Excel

6
James Bloomer

Vous pouvez créer des projets Excel dans Visual Studio (anciennement appelés projets Excel VSTO) ou utiliser une bibliothèque tierce telle qu'ExcelDna.

1
Adam Ralph