Ich hatte 2006 mit MS VS 2005 ein System entwickelt, das sich mit Excel-Tabellen befasst. Jetzt kann ich dieselbe Referenz nicht mehr mit MS VS 2012 verwenden.
var app = new Microsoft.Office.Interop.Excel.Application();
Workbooks wbs = app.Workbooks;
Verwenden Sie NuGet (VS 2013 +):
Die einfachste Möglichkeit in einer neueren Version von Visual Studio besteht darin, nur den NuGet-Paketmanager zu verwenden. (Auch VS2013 mit der Erweiterung NuGet Package Manager für Visual Studio 201 .)
Klicken Sie mit der rechten Maustaste auf "Referenzen" und wählen Sie "NuGet-Pakete verwalten ..." und suchen Sie dann einfach nach Excel.
VS 2012:
Ältere Versionen von VS hatten keinen Zugriff auf NuGet.
Microsoft.Office.Interop.Excel
.VS 2008/2010:
Microsoft.Office.Interop.Excel
.Sie können es auch über den Paket-Manager in Visual Studio installieren.
Lauf Install-Package Microsoft.Office.Interop.Excel
in der Paketkonsole. Dadurch wird es automatisch als Projektreferenz hinzugefügt.
Verwendung ist wie folgt:
Using Excel=Microsoft.Office.Interop.Excel;
Wenn Sie VS 2013 Express verwenden und den Microsoft.Office-Namespace nicht finden können, versuchen Sie dies ('Microsoft Excel 12.0-Objektbibliothek', wenn Sie Office 2007 verwenden möchten).
Aufbauend auf der Antwort von Mulfix können Sie mit Visual Studio Community 2015 Folgendes ausprobieren: Verweis hinzufügen ... -> COM -> Typbibliotheken -> 'Microsoft Excel 15.0-Objektbibliothek'.
Anstatt die Referenz frühzeitig zu binden, gibt es ein Open-Source-Projekt namens NetOffice, das dies von Ihrem Projekt abstrahiert und so das Leben erheblich erleichtert. Auf diese Weise müssen Sie sich nicht darauf verlassen, dass Ihre Benutzer eine bestimmte Version von Office installiert haben.
Sie müssen überprüfen, auf welche Excel-Version Sie abzielen.
Wenn Sie Excel 2010 als Ziel verwenden, verwenden Sie Version 14 (gemäß der Screenshot-Antwort von Grant), Excel 2007 Version 12. Sie können Excel 2003 mit vS2012 nicht unterstützen, da auf ihnen nicht die richtige Interop-DLL installiert ist.