Laden...

Fehlermeldung: System.Runtime.InteropServices.COMException (0x80040154)

Erstellt von FranzBeckenbauer vor 11 Jahren Letzter Beitrag vor 8 Jahren 10.030 Views
F
FranzBeckenbauer Themenstarter:in
63 Beiträge seit 2011
vor 11 Jahren
Fehlermeldung: System.Runtime.InteropServices.COMException (0x80040154)

Hallo zusammen.

Ich habe da ein Problem, beim dem mir Google auch nicht mehr hilft.
Folgendes: Ich habe ne ASP.NET Webanwendung erstellt die mir z.B. mit klick auf nen Butten ein ExceSheet generieren soll.

Die komplette Fehlermeldung verweist auf die Zeile 318 die so aussieht:


Excel.Application myExcelApplication;
 Excel.Workbook myExcelWorkbook;
Excel.Worksheet myExcelWorkSheet;
myExcelApplication = null;

myExcelApplication = new Excel.Application(); // Zeile 318
myExcelApplication.Visible = true;
myExcelApplication.ScreenUpdating = true;


Mein locales Betriebssystem ist Win7 64 bit und das Serverbetriebssystem bei (DomainBOX)ist
Windows Server 2008 R2 64 bit .
Bein ASP.NET - Projekt ist eingestellt auf Any CPU.
Hab es aber auch schon mal kurzfristig zum Testen umgestellt auf x86.
Hat leider nichts geholfen.

Es ist immer das gleiche: Local am Rechner funktioniert es super, nur wenns am Server liegt bekomme ich die Fehlermeldung.

Kann mir bitte jemand weiterhelfen, hab da leider nicht viel Erfahrung... (Anfänger).
Vielen Dank schon mal im Voraus.

Die komplette Fehlermeldung lautet:

System.Runtime.InteropServices.COMException (0x80040154): Die COM-Klassenfactory für die Komponente mit CLSID {00024500-0000-0000-C000-000000000046} konnte aufgrund des folgenden Fehlers nicht abgerufen werden: 80040154 Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). bei System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) bei System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) bei System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) bei System.Activator.CreateInstance(Type type, Boolean nonPublic) bei System.Activator.CreateInstance(Type type) bei fcb_rm87.MB_AdminFahrten.btnBuslisteExport_Click(Object sender, EventArgs e) in D:\Christian\Projekte\fcb-rm87\fcb-rm87\MB_AdminFahrten.aspx.cs:Zeile 318.

H
13 Beiträge seit 2013
vor 11 Jahren

Office Paket auf dem Server installiert?
Ich bezweifel, dass Domainbox bei ihren Webhosting-Paketen Office bereit stellt...

F
FranzBeckenbauer Themenstarter:in
63 Beiträge seit 2011
vor 11 Jahren

Hallo, danke für die Antwort.
heißt das dass domainbox-Server ebenfalls office packet installiert haben muss und es reicht nicht aus wenns nur local bei jeden Anwender installiert ist??

Gibts dafür ne andere Möglichkeit den Usern ne Excel-Datei zur Verfügung zu stellen?

16.807 Beiträge seit 2008
vor 11 Jahren

Vielleicht solltest Du Dir noch mal anschauen, was eine Webanwendung ist, was auf dem Server und was auf dem Client ausgeführt wird und was jeweils vorhanden sein muss. Denke das schadet nicht.

Natürlich muss auf dem Server Excel installiert sein, wenn Du es auf dem Server nutzt.
Es gibt von Google eine ExcelLibrary, aber die wird meines wissens nicht mehr weiter entwickelt, sondern ist noch auf dem Stand von 2003. Womöglich ist sie also mit den neueren Office Versionen oder gar dem einheitlichen Office Format überhaupt nicht verwendbar.
Ansonsten steht Dir frei Google nach vorhandenen Projekten zur Suche zu benutzen.

M
53 Beiträge seit 2008
vor 11 Jahren

Moin Franz,

in diesem Fall bietet sich Office OpnXML an. Damit kannst du Office Dokumente erstellen und bearbeiten, ohne das Office installiert sein muss.

OpenXML - MSDN

Gruß
muhtanten

F
FranzBeckenbauer Themenstarter:in
63 Beiträge seit 2011
vor 11 Jahren

Danke für die Antworten.

muhtanten, Danke fü den Link. Werd ich gleich mal testen und mich damit beschäftigen.

Abt, ist mir schon klar. Wie gesagt bin noch anfänger...
Hatte da ne falsche Denkweise.

MFG

A
51 Beiträge seit 2014
vor 8 Jahren

in diesem Fall bietet sich Office OpnXML an. Damit kannst du Office Dokumente erstellen und bearbeiten, ohne das Office installiert sein muss.


>

Gibt es auch etwas vergleichbares für Visio? Open XML gilt leider nur für Excel 2010 | Office 2010 | PowerPoint 2010 | Word 2010.

Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt - Tractatus 5.6, Ludwig Wittgenstein

3.511 Beiträge seit 2005
vor 8 Jahren

Hallo,

für Visio erst ab der Version 2013.

Gruß
Khalid

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

A
51 Beiträge seit 2014
vor 8 Jahren

Hm, schade. Irgend eine andere Idee, wie ich ohne ein installiertes Visio Diagramme erzeugen könnte?

Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt - Tractatus 5.6, Ludwig Wittgenstein

16.807 Beiträge seit 2008
vor 8 Jahren

Ja. OpenXML.
Funktioniert aber wue erwähnt erst mit dem in VS2013 eingeführten XML-Format "vsdx".
Alles davor brauchst Du ein installiertes Visio.

Open XML gilt leider nur für Excel 2010 | Office 2010 | PowerPoint 2010 | Word 2010.

Nein. Open XML gilt AB Office 2010.
Und 2013 hat sich die Schnittstelle aufgrund von OpenXML 2.0 nochmals geändert.

F
10.010 Beiträge seit 2004
vor 8 Jahren

Es gibt haufenweise Bibliotheken um Diagramme zu erzeugen, was willst du wirklich machen?

A
51 Beiträge seit 2014
vor 8 Jahren

Automatisch einen Zustandsautomaten generieren. Bsp. siehe Anhang.

Visio hätte den Charme, dass das Diagramm nachträglich bearbeitet werden kann. Leider aber nicht möglich, da lokal kein Visio installiert ist und somit die ganze COM Interop-Geschichte flach fällt.

Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt - Tractatus 5.6, Ludwig Wittgenstein