web-dev-qa-db-fra.com

De quelle référence ai-je besoin pour utiliser Microsoft.Office.Interop.Excel dans .NET?

Je suis intéressé à utiliser C # pour manipuler/automatiser des fichiers Excel.

Après avoir parcouru le Web, j’ai trouvé VSTO mais il semble que vous ne puissiez pas l’utiliser dans Visual Studio Express Edition, donc je ne peux pas l’utiliser.

Il y a quelques minutes à peine, j'ai remarqué une question sur ce site qui utilisait cet espace de noms dans son code:

Microsoft.Office.Interop.Excel

Je me demande donc si tout ce dont j'ai besoin est d'ajouter la référence nécessaire et, le cas échéant, quelle référence ajouter?

UPDATE

J'ai installé "Assemblages d'interopérabilité primaires" comme la réponse acceptée le suggérait, mais pour une raison quelconque, ils sont toujours absents de la boîte de dialogue Ajouter une référence sous ".NET", mais ils sont présents dans GAC.

Donc, je viens d'ajouter la référence en utilisant "Parcourir" et situé Microsoft.Office.Interop.Excel.dll dans le dossier GAC.

Mais, à la recherche de questions similaires sur ce site concernant l’ajout de références de GAC, il semble que cela ne soit pas recommandé.

94
user850010

Mise à jour (merci utilisateur2347528)

Ces assemblages sont disponibles sous forme de packages NuGet, ce qui est beaucoup plus simple que ma réponse d'origine.

Vous pouvez installer en cliquant avec le bouton droit de la souris sur Références dans votre projet et en sélectionnant Gérer les packages NuGet ... et recherchez l'un des packages répertoriés ci-dessous ou installez-le à l'aide de la console Package Manager:

PM> Install-Package Microsoft.Office.Interop.Excel

Ceux-ci sont disponibles sous forme d'assemblys primaires d'interopérabilité, pouvant être installés avec Office ou téléchargés et installés séparément. Comment: installer des assemblages d'interopérabilité primaires Office .

Une fois ceux-ci installés, vous pouvez les référencer dans votre projet dans la boîte de dialogue Ajouter une référence, sous .NET. Si vous ne voyez pas ces assemblys Microsoft.Office.Interop répertoriés, ils ne sont pas encore installés. Installez-les depuis votre configuration ou téléchargez-les et installez-les séparément (voir mon lien ci-dessus pour les téléchargements).

97
HackedByChinese

Je viens d'avoir ce problème moi-même et accepté la réponse ne m'a pas aidé mais je l'ai résolu avec:

Add reference > Browse > C: > Windows > Assembly > GAC > Microsoft.Office.Interop.Excel > 12.0.0.0_etc > Microsoft.Office.Interop.Excel.dll

47
Robert

Les réponses ne m'ont pas aidé à résoudre mon problème, je n'ai pas pu trouver (et parcourir) les assemblys bien que je les ai installés à l'aide du programme d'installation msi de Microsoft. Pour moi, l'assemblage Excel est situé sous C:\Windows\Assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll

24
0x8BADF00D

Ajoutez juste la référence de Microsoft.Office.Interop.Excel.

Il comprend les classes liées à Microsoft Excel, pas besoin d'ajouter plus de références.

8
RAKESH HOLKAR

Je suppose que ce que vous essayez de faire est d’ajouter Microsoft.Office.Interop.Excel avec using instruction sans ajouter sa référence dans votre application. Dans ce cas, elle ne sera pas trouvée. Avant de l'appeler avec l'instruction using, vous devez ajouter une référence à votre application. Faites un clic droit sur References et ajoutez la référence Excel Interop.

4
Misam

Ajouter une référence> Parcourir> C:> Windows> Assemblage> GAC> Microsoft.Office.Interop.Excel> 12.0.0.0_wasd ..> Microsoft.Office.Interop.Excel.dll

4
Turanian

son dans le composant com, nommé: "Bibliothèque d'objets Microsoft Office 14"

3
James Tan

La meilleure option depuis office 2007 utilise Open XML SDK pour cela. Nous avons utilisé Word.Interop, mais cela s’arrête parfois et il n’est pas recommandé à Microsoft de l’utiliser comme formatage de document côté serveur. Open XML SDK vous permet de créer très facilement des documents Word aux formats DOCX et Open XML. Il vous permet de bien fonctionner avec la scability, la confiance (les fichiers, s’ils sont corrompus, peuvent être reconstruits), et une autre caractéristique très fine.

3
JosefMadrid

Si Microsoft Office est installé, vous devriez pouvoir ajouter une référence à Interop.Excel.

Par exemple, le PC sur lequel je tape ceci a MSVS 2010 C # Express et Office 2010. Je peux ajouter une référence à Microsoft.Office.Interop.Excel 11.0.0.0.

'J'espère que ça t'as aidé

3
paulsm4

Je l'ai trouvé situé sous Assemblées-> Extensions dans VS2013.

Add Reference

3
bluebunny72

Voici une solution très solide, vous devez simplement avoir excell.dll dans votre dossier Debug/Release. Le mien est de 77 824 octets, je l’ai téléchargé sous forme de fichier, ce qui explique également pourquoi certaines personnes ont compilé Debug mais ne le distribuent pas ou vice versa.

Trento

2
Mario Trento

J'ai juste eu le même problème, mais aucune de ces réponses ne m'a aidé. J'ai trouvé la dll sur mon PC à l'emplacement indiqué par Mostey: (C:\Windows\Assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll), mais ce n'est pas celui référencé dans le projet que j'essayais de construire.

La référence dans notre projet dans Visual Studio 2012 pointait vers C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\. Cet emplacement était vide pour moi, mais cela a bien fonctionné pour tous les autres. Il a fallu un certain nombre d’essais, mais j’ai finalement trouvé un programme d’installation fonctionnel. J'espère que cela évite aux autres le même problème!

-> programme d'installation de l'ensemble d'outils Office pour VS2012 <-

Cela se trouvait sur la page Documentation et téléchargement d'Office . Faites défiler jusqu'à Outils Téléchargements . Il y en a aussi un pour VS2013.

2
thehelix

J'ai eu le même problème et le Microsoft.Office.Interop n'apparaissait pas dans l'option "Ajouter une référence" une fois que j'ai mis à niveau VS2012 à VS2015. J'ai essentiellement réparé l'installation (Panneau de configuration> Programmes & Caractéristiques> VS 2012> clic droit sur Modifier> Réparer) et ajouté le composant Microsoft Office. Après cela, la même solution a commencé à fonctionner.

1
sk1900

1.Téléchargez et installez: Outils de développement Microsoft Office

2.Ajouter des références de:

C:\Fichiers de programme (x86)\Microsoft Visual Studio 11.0\Outils de Visual Studio pour Office\PIA\Office15

1
Artur Tarnowski