Hallo liebe Community!
Ich habe leider nicht passendes für mein Problem gefunden und auch schon einiges herumprobiert. Ich möchte einfach mal grundlegend einfach excel Zellen in meinen Code als string einlesen.
Hier mein gescheiterter Versuch:
using System;
using Microsoft.Office.Interop.Excel;
namespace ReadExcelFiles
{
class Excel
{
private string path;
private int sheet;
private Application excel = new Application();
private Workbook wb;
private Worksheet ws;
public Excel(string path, int sheet)
{
wb = excel.Workbooks.Open(path);
ws = (Worksheet)wb.Worksheets[sheet];
}
public string ReadCell(int a, int b)
{
return ws.Cells[a, b].ToString();
}
}
}
Mir wäre Extrem geholfen wenn diese sehr einfache Klasse funktionieren würde und ich hoffe ihr versteht, was ich zu erreichen versuche. Wenn das mal grundlegend klappt, sollte ich alleine weiterkommen.
Danke schonmal im voraus 😃
Schau Dir OpenXML an; da sind entsprechende Tutorials - auch für Excel-Dokumente.
Mit einer Excel-Instanz arbeitet man eigentlich nicht mehr.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Ok, danke dir. Schade, dass das nicht so einfach gehen kann. Ich wollte eigentlich nur schnell etwas herumspielen und mich ausprobieren. Dann lass ich das wohl 😦
Wenns nur ums Spielen geht: Reading Excel Files In .NET Core
Ansonsten findet man viele Beispiele für Interop mit Excel.
Aber produktiv sollte man das nicht mehr einsetzen; erfordert zudem halt auch immer ein installiertes Excel.
Interop Excel is halt schon lange lange tot.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Schau dir ClosedXml, das setzt auf OpenXml auf, ist meiner Meinung nach aber um Welten intuitiver und einfacher.
Leider kann es nur Excel, aber das reicht dir ja.
NuGet Packages im Code auslesen
lock Alternative für async/await
Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.