2016-11-06 1 views
0

Ich erstellte eine App, die Excel-Tabellen liest und führt Aktionen auf den Daten. Ich habe die App mit Excel 2010 und 2013 erstellt. Meine Firma ist kürzlich zu Office 365 gegangen. Jetzt, wenn ich meine Anwendung ausführe, erhalte ich den unten aufgeführten Fehler. Ich nehme an, dies hat etwas mit Microsoft.Office.Interop.Excel zu tun, aber ich kann keine Informationen zu diesem Fehler finden und wie man es beheben kann.Wie kann ich auf Microsoft Excel 365 mit C# in Visual Studio zugreifen

"Das Abrufen der COM-Klassenfactory für Komponente mit CLSID {00024500-0000-0000-C000-000000000046} ist aufgrund des folgenden Fehlers fehlgeschlagen: 80040154 Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))."

+0

vielleicht sollten Sie Ihre Office Developer Tools aktualisieren. – McNets

+0

#mcNets - Ich habe die neuesten Office Developer Tools, die ich installiert finden kann. Wissen Sie, wo die Office 365-Tools sind? – Cass

Antwort

0

Wenn Sie die Excel-Anwendung nicht selbst steuern müssen, brauchen Sie wirklich keine Interop. In den Antworten auf this question oder this finden Sie Informationen zum Lesen von Daten aus xlsx-Blättern. Es gibt auch eine neat article on codeproject, die OleDb erklärt.

+0

#Nomenator - Haben Sie Erfahrung mit diesen Optionen? Welche empfehlen Sie, Linq-to_Excel oder OleDbConnection? – Cass

+0

@Cass Ich benutze Linq-to-Excel, weil ich die Excel-Datei so abfragen kann, als wäre es eine Entitäts-Framework-Datenquelle, nachdem ich die Datei Entitäten zugeordnet habe. Ich weiß nicht, wie viel schneller oder langsamer es hinter den Kulissen ist, aber der Komfort, Daten direkt mit Objekten zu verbinden und linq zu verwenden, ermöglicht eine viel schnellere Entwicklung. – Nomenator

+0

#Nomenator - Funktioniert Linq-to-Excel nur mit .xls-Dateien? Ich habe eine xlsx-Datei und ich bekomme diesen Fehler: "Konnte Datei oder Assembly nicht laden" LinqToExcel, Version = 1.10.1.0, Culture = neutral, PublicKeyToken = 9c8ea65a58f03f1f 'oder eine seiner Abhängigkeiten. Es wurde versucht, ein Programm zu laden mit einem falschen Format. " – Cass

0

Ich sah die gleiche Ausnahme, wenn mein Computer auf Office 365 aktualisiert wurde. In meinem C# -Code verwendete ich Testdaten früher in ".xlsx" -Datei gespeichert.

Ich habe den Namen der Excel-Datei in ".xls" geändert und den gleichen Code ausgeführt, der Excel.Application und andere Klassen aus der Microsoft.Office.Interop.Excel-Bibliothek nutzte.

Verwandte Themen