myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Office-Technologien » Applikation startet nicht aufgrund von Excel-Einbindung
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Applikation startet nicht aufgrund von Excel-Einbindung

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
shazam
myCSharp.de-Mitglied

Dabei seit: 13.11.2020
Beiträge: 4


shazam ist offline

Applikation startet nicht aufgrund von Excel-Einbindung

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo zusammen,

hoffe alle sind bei bester Gesundheit. :)
In meiner Firma habe ich schon so manche kleine "Hilfsapplikation" erstellt.

Bei einer solcher Applikation wird ein Excel-File erstellt und Daten hinein geschrieben, ganz simpel.
Dies funktionierte auf jedem Computer, auf welchem diese Applikation als .exe-File läuft, einwandfrei.

Jedoch gibt es einen PC, auf dem die Applikation seit ein paar Tag nicht mehr starten will.

Festgemacht habe ich dies jetzt an der folgenden Zeile Code, wenn ich diese aus-kommentiere (inkl. deren Verwendung), funktioniert es einwandfrei:

C#-Code:
Excel.Application app = new Excel.Application();

Alle PC's sind laut Werksstandard gleich installiert, ich kann es mir nicht erklären... wenn ich Doppelklicke (egal ob die .exe auf dem Desktop liegt oder auf dem Netzlaufwerk verlinkt wird). Es zeigt kurz ein Ladesymbol, passieren tut aber nichts...

Bin auf eure Meinung gespannt. :)


Schöne Grüße!
13.11.2020 16:42 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
lhyn lhyn ist männlich
myCSharp.de-Mitglied

Dabei seit: 20.04.2015
Beiträge: 127


lhyn ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo shazam,

Du arbeitest anscheinend mit Microsoft.Office.Interop.Excel was ein installiertes Excel benötigt.
Ist dieses auch wirklich installiert und lässt sich auf dem "Problem-PC" starten?

Als alternative kann ich Dir OpenXml empfehlen, damit kannst du viel performanter und ohne installiertes Excel eine xlsx Datei erzeugen.

C#-Code:
    using DocumentFormat.OpenXml;
    using DocumentFormat.OpenXml.Packaging;
    using DocumentFormat.OpenXml.Spreadsheet;

Gruss Lhyn
13.11.2020 17:50 Beiträge des Benutzers | zu Buddylist hinzufügen
shazam
myCSharp.de-Mitglied

Dabei seit: 13.11.2020
Beiträge: 4

Themenstarter Thema begonnen von shazam

shazam ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Lyhn,

danke für deine Antwort.
Ja, Excel ist auf dem "Problem-PC" installiert und lässt sich auch ohne Fehler ausführen.
Ich kopiere damit ein Template und passe dann die Daten entsprechend an.
Eine Umstellung auf OpenXml hört sich doch nach einigem Aufwand an...

Geht es irgendwie zu testen, warum es nicht startet?


Vielen Dank!
16.11.2020 06:01 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Palladin007 Palladin007 ist männlich
myCSharp.de-Mitglied

avatar-4140.png


Dabei seit: 03.02.2012
Beiträge: 1.363
Entwicklungsumgebung: Visual Studio 2019
Herkunft: NRW


Palladin007 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ist die selbe Excel-Version mit der selben Architektur (x86 vs. x64) installiert?
Unterschiede können zu Problemen führen - zumindest, wenn man die Interop-API nutzt.

Ansonsten kann ich das Framework  ClosedXML empfehlen.
Es baut auf OpenXML auf, ist aber mMn. um Welten intuitiver aufgebaut, gerade wenn es um komplexere Anforderungen geht.
16.11.2020 10:35 Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.572
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Es sollte eine Exception geworfen werden. Da steht dann, was genau das Problem ist.
16.11.2020 14:35 Beiträge des Benutzers | zu Buddylist hinzufügen
shazam
myCSharp.de-Mitglied

Dabei seit: 13.11.2020
Beiträge: 4

Themenstarter Thema begonnen von shazam

shazam ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Es wird eben keine Exception geworfen - wie muss ich diese aufbauen, dass mir ein Fehler angezeigt wird?


Vielen Dank!
17.11.2020 06:24 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Stefan.Haegele Stefan.Haegele ist männlich
myCSharp.de-Mitglied

avatar-3068.jpg


Dabei seit: 13.03.2009
Beiträge: 403
Entwicklungsumgebung: Visual Studio 2010 Ultimat
Herkunft: Untermeitingen


Stefan.Haegele ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Im einfachsten Fall so - normalerweise sollte der Fehler aber in einer Logdatei gespeichert werden. Dies ist wirklich nur als Minimalbeispiel zu verstehen.

C#-Code:
try
{

    Excel.Application app = new Excel.Application();

}
catch(Exception exp)
{

    MessageBox.Show(exp.message, "Exception Excel Aufruf", MessageBoxButtons.OK);

}

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Stefan.Haegele am 17.11.2020 08:33.

17.11.2020 07:44 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
shazam
myCSharp.de-Mitglied

Dabei seit: 13.11.2020
Beiträge: 4

Themenstarter Thema begonnen von shazam

shazam ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Die Fehlermeldung konnte ich jetzt herausfinden:

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)).

Was könnt die Ursache sein?


Vielen Dank!
17.11.2020 16:59 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
HansFred
myCSharp.de-Mitglied

Dabei seit: 19.10.2020
Beiträge: 47


HansFred ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

17.11.2020 17:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 06.12.2020 01:48