Hallo,
ich nutze folgenden Code um ein Excel Blatt auszulesen.
Delphi-Quellcode:
...
if ADOConnectionExcelVV.Connected then ADOConnectionExcelVV.Close;
ADOConnectionExcelVV.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source='+ OpenDialog1.FileName +';' +
'Extended Properties="Excel 8.0;HDR=Yes";' +
'Persist Security Info=False';
ADOConnectionExcelVV.Open;
if ADOConnectionExcelVV.Connected then
begin
ADOConnectionExcelVV.GetTableNames(slTableList, False);
sTableName:= slTableList[0];
ADODataSetExcelVV.CommandText:= 'SELECT * FROM [' + sTableName + ']';
ADODataSetExcelVV.Open;
// Zuweisen der Tabellenzeilen
iMaxVvTableRows := ADODataSetExcelVV.RecordCount;
setlength(tabellenfelder, (iMaxVvTableRows + 1));
// Anzahl der Spalten ermitteln
iMaxCol := ADODataSetExcelVV.FieldCount;
// Auf den ersten Datensatz springen
ADODataSetExcelVV.First;
// Dataset auslesen
for iRow := 1 to iMaxVvTableRows do
begin
for iCol := 1 to iMaxCol do
begin
tabellenfelder[iRow].aTableRow[iCol] := ADODataSetExcelVV.Fields[(iCol - 1)].AsString
end;
ADODataSetExcelVV.Next;
end;
ADODataSetExcelVV.Close;
end;
ADOConnectionExcelVV.Close;
...
Leider fehlt mir in den ausgelesenen Daten die erste Zeile und die erste Spalte der Tabelle.
Was bitte mache ich denn falsch?
Gruß Holger.
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...