Hallo zusammen,
habe mir eine kleine Funktion geschrieben, die mit Hilfe von
ADO eine Exceltabelle einliest.
Für alle die es interessiert hier der Quellcode:
Delphi-Quellcode:
function TCreateIni.MakeConnection: TAdoTable;
var
ADOTable : TADOTable;
begin
ADOTable := TADOTable.Create(
nil);
try
ADOTable.ConnectionString:= '
Provider=MSDASQL.1;' +
'
Persist Security Info=False;' +
'
Mode=ReadWrite;' +
'
Extended Properties="DSN=Excel-Dateien;' +
'
DBQ=' + FFileName + '
;' +
'
DriverId=790;' +
'
MaxBufferSize=2048;' +
'
PageTimeout=5;";';
ADOTable.TableName := '
[Sheet1$]';
ADOTable.Active := true;
Result := ADOTable;
except
on e:
exception do
begin
ShowMessage(e.
Message);
FreeAndNil(ADOTable);
Result :=
nil;
end;
end;
end;
Nachdem sich die ADOTable erfolgreich angebunden hat, kann man die Daten der Table weiterverarbeiten.
(ADOTable.FieldByName('SoSo').AsString)
Wichtig dabei ist, daß die
1. Zeile in der Exceldatei als Tabellenüberschrift in der ADOTable gilt.
Beispiel:
In Excel
Feld A1 : SoSo
Feld A2 : xyz
Im Quellcode:
Delphi-Quellcode:
var
temp : string;
begin
temp := ADOTable.FieldByName('SoSo').AsString;
end;
Die Variable Temp beinhaltet jetzt den String 'xyz'.
Viel Spaß noch,
Woto