Laden...

Excel auslesen

Letzter Beitrag vor 19 Jahren 7 Posts 4.163 Views
Excel auslesen

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

  1. ... wie sich der Connection String zusammensetzt?

  2. ... wo die Extended Properties erklärt sind?

Danke und Grüße

pitschi

Schau mal hier vorbei

http://www.connectionstrings.com/

Grüße

Hey...

Danke 🙂

Die Antwort ist ja mal wieder soooo einfach, da hätte man fast selbst drauf kommen können 🙂

Grüße

pitschi