Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Fehlermeldung: System.Runtime.InteropServices.COMException (0x80040154)
FranzBeckenbauer
myCSharp.de - Member



Dabei seit:
Beiträge: 63

Themenstarter:

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

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Hans18
myCSharp.de - Member



Dabei seit:
Beiträge: 13

beantworten | zitieren | melden

Office Paket auf dem Server installiert?
Ich bezweifel, dass Domainbox bei ihren Webhosting-Paketen Office bereit stellt...
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Hans18 am .
private Nachricht | Beiträge des Benutzers
FranzBeckenbauer
myCSharp.de - Member



Dabei seit:
Beiträge: 63

Themenstarter:

beantworten | zitieren | melden

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?
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.755

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
muhtanten
myCSharp.de - Member



Dabei seit:
Beiträge: 53

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
FranzBeckenbauer
myCSharp.de - Member



Dabei seit:
Beiträge: 63

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
adm1n
myCSharp.de - Member



Dabei seit:
Beiträge: 51

beantworten | zitieren | melden

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

OpenXML - MSDN
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
private Nachricht | Beiträge des Benutzers
Khalid
myCSharp.de - Experte

Avatar #avatar-2534.gif


Dabei seit:
Beiträge: 3.511
Herkunft: Hannover

beantworten | zitieren | melden

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)
private Nachricht | Beiträge des Benutzers
adm1n
myCSharp.de - Member



Dabei seit:
Beiträge: 51

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.755

beantworten | zitieren | melden

Ja. OpenXML.
Funktioniert aber wue erwähnt erst mit dem in VS2013 eingeführten XML-Format "vsdx".
Alles davor brauchst Du ein installiertes Visio.
Zitat
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.
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 9.972

beantworten | zitieren | melden

Es gibt haufenweise Bibliotheken um Diagramme zu erzeugen, was willst du wirklich machen?
private Nachricht | Beiträge des Benutzers
adm1n
myCSharp.de - Member



Dabei seit:
Beiträge: 51

beantworten | zitieren | melden

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.
Attachments
Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt - Tractatus 5.6, Ludwig Wittgenstein
private Nachricht | Beiträge des Benutzers