Hallo zusammen,
ich habe mir hier im Forum folgenden Code zum Zugriff auf Exceldateien mittels
ADO kopiert und das funktioniert zum Teil auch ganz gut. Das Problem ist nur, das ich auf die einzelnen Zellen (im Beispiel die Anweisung: "ATable.FieldValues['A1']") einfach nicht zugreifen kann, dann kommt immer "Feld A1 nicht gefunden". Kann hier jemand weiterhelfen?
Delphi-Quellcode:
var
ACon : TADOConnection;
ATable : TADOTable;
AList : TStringList;
AStr : String;
v : Variant;
begin
//Connection öffnen
ACon := TADOConnection.Create(Self);
ACon.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Provider=Microsoft.Jet.OLEDB.4.0; ' +
'Data Source=F:\Entwickler-Projekte\HSH\Database\Testmappe.xls;' +
'Extended Properties=Excel 8.0; ' +
'Persist Security Info=False';
ACon.LoginPrompt := False;
ACon.Open;
AList := TStringList.Create;
ACon.GetTableNames(AList);
ShowMessage(AList.Text);
//Table öffnen
ATable := TADOTable.Create(Self);
ATable.Close;
ATable.Connection := ACon;
AStr := Copy(AList[0], 2, Length(AList[0]) - 2);
ATable.TableName := AList[0];
ATable.TableDirect := True;
ATable.Open;
ATable.First;
ShowMessage(IntToStr(ATable.RecordCount));
//Table langlatschen
while not ATable.Eof do
begin
v := ATable.FieldValues['A1'];
if not VarIsNull(v) then //wert nicht leer mach string draus
begin
v := VarAsType(v, varString);
ShowMessage(v);
end;
ATable.Next;
end;
FreeAndNil(ATable);
FreeAndNil(AList);
ACon.Close;
FreeAndNil(ACon);