Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#10

Re: Excel Sheet per ADO auslesen -> Erste Zeile und Spalt

  Alt 9. Feb 2009, 11:12
Hallo,

schau mal bitte hier http://support.microsoft.com/kb/257819/de, ob Dir das eventuell weiterhelfen kann.

Was Du mal probieren könntest (ich weiß allerdings nicht, ob das bei Excel überhaupt unterstützt wird):
Delphi-Quellcode:
ADODataSetExcelVV.CommandText:= 'SELECT
Cast(Spaltenname1 As VarChar(256)) As Spaltenname1,
Cast(Spaltenname2 As VarChar(256)) As Spaltenname1,
...
FROM [
' + sTableName + ']';
Damit könnte die Möglichkeit bestehen, im Select den Datentyp vorzugeben.
Was ich nicht weiß: Kann man bei Excel die Spaltenname abfragen? Es könnte eventuell mit
Delphi-Quellcode:
Var
  slFieldList : TStringList;
  sCommandText : String;
  i : Integer;
begin
  slFieldList := TStringlist.Create;
  sCommandText := select ';
...
ADODataSetExcelVV.GetFieldNames(slFieldList);
for i := 0 to slFieldList.Count - 1 do begin
sCommandText := sCommandText +
'Cast(slFieldList[i] + ' as VarChar(256)) As ' + slFieldList[i] + ', ';
  end;
  sCommandText := sCommandText + FROM [' + sTableName + ']';
ADODataSetExcelVV.Open;
...
end;
funktionieren.
Dashier ist nicht getestet, sondern nur mal so hingeschrieben, in der Hoffnung, dass es bei der Problemlösung behilflich sein könnte.
  Mit Zitat antworten Zitat