mit den Routinen aus #17 für den Weg über die Zwischenablage hatte ich mit folgendem Code bisher keinen Ärger (gegf. müsste #9 ausgesiebt werden)
Delphi-Quellcode:
Function GetAds4Excel(ads:TAdoDataset):String;
var
sl:TStringList;
s:String;
i:Integer;
Procedure ClipIt;
begin
s := Copy(s,1,length(s) - 1);
sl.Add(s);
s := '';
end;
begin
sl:=TStringList.Create;
try
s := '';
For i := 0 to ads.FieldCount - 1 do
begin
if ads.Fields[i].Visible then s := s + ads.Fields[i].DisplayLabel + #9;
end;
ClipIt;
while not Ads.Eof do
begin
For i := 0 to ads.FieldCount - 1 do
begin
if ads.Fields[i].Visible then s := s + ads.Fields[i].DisplayText + #9;
end;
ClipIt;
Ads.Next;
end;
Result := sl.Text;
finally
sl.Free;
end;
end;