Wenn du eine ADOConnection verwendest, in die du den Connectionstring einsetzt, kannst du die Methoden GetTableNames und GetFieldNames verwenden, die dir die Namen der vorhandenen Tabellen (bei Excel die Arbeitsblätter) sowie die dazu gehörenden Feldnamen (Spalten) ausgeben.
Der Code-Schnipsel geht davon aus, daß eine AdoConnection conExcel exisitert, in der der gültige ConnectionString eingefügt wurde.
Code:
var
slTabellen, slFelder: TStringList; // Stringliste zur Aufnahme der Tabellen- bzw. Feldnamen
sConnectionString: String; // Der ConnectionString
sTabelle: String;
...
conExcel.Connected := False;
conExcel.ConnectionString := sConnectionString;
conExcel.Connected := True;
slTabellen := TStringList.Create;
try
conExcel.GetTableNames(slTabellen);
...
sTabelle := slTabellen[<Index>];
...
slFelder := TStringList.Create;
try
conExcel.GetFieldNames(sTabelle, slFelder); // alle Felder der Tabelle laden
...
finally
slFelder.Free;
end;
...
finally
slTabellen.Free;
end;
...
Grüße
Mikhal