Wie erstellen Sie eine Instanz von Excel, wenn Excel nicht installiert ist
In meiner C# Anwendung, mit Hilfe von Excel-Interop-dll (als Referenz) ich bin beim Lesen/schreiben von excel-Dateien. Wenn ich bewegen Sie dieses Programm, um das system, wo office/excel nicht installiert ist (man denke an saubere Maschine), ich bin schlagen mit folgende Fehlermeldung.
System.- Laufzeit.InteropServices.COMException (0x80040154): Abrufen des COM-Klassenfactory für die Komponente mit CLSID {00024500-0000-0000-C000-000000000046} konnte aufgrund des folgenden Fehlers: 80040154 Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
Oben genannten Fehler erwartet, da ist kein excel auf dem Zielrechner.
Meine Frage ist, gibt es eine andere Möglichkeit, mein Programm abgesehen von der Registrierung Interop dll auf dem Zielrechner?
InformationsquelleAutor der Frage Mahender | 2012-09-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden Sie gefragt, ob es irgendeinen Weg gibt, verwenden Sie Ihr Programm, das verwendet Excel interop, wenn Excel nicht installiert ist auf dem computer läuft Ihr Programm. Die kurze Antwort ist Nein. Die längere Antwort ist ja, wenn Sie bereit sind, überarbeiten Sie Ihr Programm nicht für die Verwendung der interop.
Können Sie die OOXml-SDK von Microsoft zur Verfügung, wenn die version von Excel, die Sie sind targeting ist 2007 und bis. Sie können auch eine Drittanbieter-Bibliothek wie Aspose wenn Sie bereit sind, zu verbringen ein wenig Geld.
Beispiel für die Verwendung der OOXml-SDK zum einfügen einer Tabelle in eine excel-Datei finden Sie in der microsoft docs.
InformationsquelleAutor der Antwort seth flowers
Sogar Microsoft nicht empfiehlt usein Interop-Bibliotheken auf einem server. Also am besten zu finden, einige alternative framework zu tun ist Excel für Sie. Ich habe erfolgreich verwendet Npoi in der Vergangenheit für diesen Zweck.
Ich weiß, das ist nicht die Antwort auf Ihre Ausnahme. Aber ganz ehrlich, die Interop ist ein Pfad zu einem endlosen ärger und kryptische exception-Meldungen.
Update 2017: ich habe nicht verwendet NPOI für eine Weile jetzt, und zog alle meine Projekte EPPlus insted - Bibliothek basierend auf OpenXML, schafft Sie moderne xlsx-Dateien.
InformationsquelleAutor der Antwort trailmax
Können Sie registrieren Sie Ihr COM mit RegSrv32
Link : http://msdn.microsoft.com/en-us/library/ms859484.aspx
Sind Sie verpflichtet, zur Registrierung Ihrer COM-vor der Verwendung
InformationsquelleAutor der Antwort Aghilas Yakoub
Aus all der Forschung, die ich Tat vor einer Weile, wenn ich brauchte, um die Interaktion mit einer Excel-Datei auf einem server, die Sie haben, um Office zu installieren.
InformationsquelleAutor der Antwort Gromer