Hi,
ich möchte eine Excel Tabelle auslesen, würde gerne die einzelnen Columns haben und da die Spaltenüberschrift herausbekommen um zu wissen wo ich bin und dann bis zum Ende der Rows durchgehen.
soweit habe ich es bis jetzt:
this.OExcelWorkSheet = (Excel.Worksheet) this.OExcelSheets[SheetNr];Excel.Range = this.OExcelWorkSheet.Columns;
es handelt sich um Excel 2003
Hallo liam,
warum gehst du über das Excel-Objekt Modell? Spricht irgendetwas dagegen per ADO.Net auf Excel zuzugreifen? Damit kannst du die Exceldaten einfach in ein Dataset laden, und musst nicht mit den Ranges usw. rum hantieren.
Grüße Sven
Die Sache ist das es eher wild zusammengewürfelte Tabellen sind, habe es da noch nicht mit Ado probiert
Also mit ADO.NET könntest du dir das Ecxel-Sheet folgendermaßen laden
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<Pfad>;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
//Wobei "HDR=Yes;" bedeutet das die erste Zeile die Überschriften beinhaltet
OleDbConnection objConn = new OleDbConnection(connString);
//Öffnen der Connection
objConn.Open();
//...eine Abfrage erstellen...
string strSelect = "SELECT * FROM [" + SheetName + "$]";
//..das dazugehörende CommandObjekt...
OleDbCommand objCmdSelect =new OleDbCommand(strSelect, objConn);
//.. und den DataAdapter erstellen
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
objAdapter1.SelectCommand = objCmdSelect;
//Füllen des DataSets.
objAdapter1.Fill(pDataSetInstanz, SheetName);
Jetzt kannst du einfach mit ein "foreach" durch die Tabelle des Datasets gehen.
Ich finde das persönlich einfacher als sich durch das Objektmodell von Excel zu hangeln, zumal du damit um das zugreifen auf die Excelkomponenten herum kommst, und somit das Deployment vereinfacht wird.
Überzeugt oder willst du immernoch das Excelobjekt verwenden? 😉
Grüße Sven
Hallo,
wo findet man eigentlich eine Liste...
... wie sich der Connection String zusammensetzt?
... wo die Extended Properties erklärt sind?
Danke und Grüße
pitschi
Hey...
Danke 🙂
Die Antwort ist ja mal wieder soooo einfach, da hätte man fast selbst drauf kommen können 🙂
Grüße
pitschi