Benutzer mit den meisten Antworten
Excel.Application in dll

Frage
-
Hallo an das Forum,
ich möchte eine Excel.Application in einer Klassenbibliothek (Framework 4.7.2) verwenden.Hierzu habe ich als Verweis Microsoft.Office.Interop.Excel hinzugefügt.
Gleichwohl kann ich Excel.Application nicht aufrufen.
Excel.Application excelApp; //--
Microsoft.Office.Interop.Excel.Application excelWorkBook =
new Microsoft.Office.Interop.Excel.Application.(); // --
Gibt es Problem mit der dll oder gibt es eine andere Erklärung?
Vielen Dank für die Unterstützung!
Gräf
- Bearbeitet user10101994 Samstag, 30. Mai 2020 16:00
Antworten
-
Hi,
ich kann eigentlich nur von Excel (bzw. generell Office) Automatisierung abraten, wo immer es möglich ist.
Es gibt mehr genug Alternativen, bspw. das Syncfusion Excel Framework, das es zudem für viele (auch kommerzielle) Anwendungsfälle und Firmen über deren Community License kostenlos gibt.
Damit bist Du völlig frei von Excel auf dem Zielrechner. Bei Automatisierung musst Du vieles berücksichtigen, u.a. die installierte Version, die passenden Verweise, die Aufrufe aus Dienstanwendungen heraus, Zombieprozesse, die im Task Manager hängenbleiben, usw.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 8. Juni 2020 06:14
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Freitag, 19. Juni 2020 13:27
-
Hi,
Kann es tatsächlich sein, dass ich 27 GB an Daten herunterladen muss oder gibt es auch eine "schlankere" Lösung?
natürlich gibt es eine schlanke Lösung :) Man kann die einzelnen Komponenten auch separat herunterladen. In deinem Fall bspw. über "More download options" in deinem Downloadbereich bei Syncfusion.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 8. Juni 2020 06:15
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Freitag, 19. Juni 2020 13:27
Alle Antworten
-
Hallo,
was meinst Du wenn Du schreibst "Gleichwohl kann ich Excel.Application nicht aufrufen."?
Meinst Du deine Umgebung kennt das nicht? Intelli-Sense weiß nicht was Du meinst?
Das wäre ein fehlender Imports.
Das hier könnte helfen:
https://answers.microsoft.com/de-de/msoffice/forum/all/imports-excel-microsoftofficeinteropexcel/556b3f62-a0a7-4892-af76-4b5a7e582112 -
Hi,
ich kann eigentlich nur von Excel (bzw. generell Office) Automatisierung abraten, wo immer es möglich ist.
Es gibt mehr genug Alternativen, bspw. das Syncfusion Excel Framework, das es zudem für viele (auch kommerzielle) Anwendungsfälle und Firmen über deren Community License kostenlos gibt.
Damit bist Du völlig frei von Excel auf dem Zielrechner. Bei Automatisierung musst Du vieles berücksichtigen, u.a. die installierte Version, die passenden Verweise, die Aufrufe aus Dienstanwendungen heraus, Zombieprozesse, die im Task Manager hängenbleiben, usw.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 8. Juni 2020 06:14
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Freitag, 19. Juni 2020 13:27
-
Hallo Alexander,
vielen Dank für Deine Unterstützung!
Tatsächlich scheint das Intelli.Sense nicht zu funktionieren.
In meiner public class Excel möchte ich Applikation, Workbook, WorkSheet und excelRange aufrufen.
Hierzu verwende ich folgenden Code:
Microsoft.Office.Interop.Excel.Application excelApp; Microsoft.Office.Interop.Excel._Workbook excelWorkBook; Microsoft.Office.Interop.Excel._Worksheet excelSheet; Microsoft.Office.Interop.Excel.Range excelRange;
Die vereinfachte Form funktioniert nicht:
//Excel.Application excelApp; //Excel._Workbook excelWorkBook; //Excel._Worksheet excelSheet; //Excel.Range excelRange;
Ich habe den Verweis
Microsoft.Office.Interop.Excel hinzugefügt.
using Excel = Microsoft.Office.Interop.Excel; wird nicht dunkel, weshalb ich diesen Verweis noch nicht verwende...
Der Zugriff auf Worksheet und Workbook ist folgerichtig nicht möglich...
private Excel.Worksheet FindSheet(Excel._Workbook excelWorkBook, string excelSheetName) { foreach (Excel.Worksheet excelSheet in excelWorkBook.Sheets) { if (excelSheet.Name == excelSheetName) return excelSheet; } return null; }
Was mache ich falsch?
Herzliche Grüße
Gräf
- Bearbeitet user10101994 Sonntag, 31. Mai 2020 09:02
-
Hallo,
je nach dem was Du machen willst, könnte vielleicht auch nur OpenXML reichen.
Ich würde wie Stefan vom vorhaben abraten und eine andere Lösung suchen. Wenn Du dein Ziel aber weiter verfolgen willst, könntest Du einen Office Wrapper wie NetOffice nutzen, damit hatte ich in der Vergangenheit weniger Probleme
Gruß Thomas
13 Millionen Schweine landen jährlich im Müll
Dev Apps von mir: UWP Segoe MDL2 Assets, UI Strings -
Hallo Stefan,
vielen Dank für Deinen Hinweis.
Ich habe mir zwischenzeitlich eine Lizenz von Syncfusion besorgt.
Kann es tatsächlich sein, dass ich 27 GB an Daten herunterladen muss oder gibt es auch eine "schlankere" Lösung?
Mit freundlichen Grüßen
Gräf
-
Hi,
Kann es tatsächlich sein, dass ich 27 GB an Daten herunterladen muss oder gibt es auch eine "schlankere" Lösung?
natürlich gibt es eine schlanke Lösung :) Man kann die einzelnen Komponenten auch separat herunterladen. In deinem Fall bspw. über "More download options" in deinem Downloadbereich bei Syncfusion.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 8. Juni 2020 06:15
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Freitag, 19. Juni 2020 13:27