Evo procedure koju sam ja koristio u D7 za export clientdataset-a u csv. Mozda ti pomogne.
Code:
procedure TwmMain.ExportCsv;
var
sqltext,datum_vreme,tid,uid,pin,msisdn, iznos:string;
Diler, ProdMesto : string;
i:integer;
exportFile:TstringList;
begin
exportFile:=TStringList.create;
openquery1(sqltext);
for i:=0 to sqlupit1.RecordCount-1 do
begin
DateTimeToString(datum_vreme, 'dd/mm/yyyy hh:mm:ss', sqlUpit1.FieldByName('datum_vreme').AsDateTime);
tid:=(sqlUpit1.FieldValues['tid']);
uid:=(sqlUpit1.FieldValues['uid']);
pin:=(sqlUpit1.FieldValues['pin']);
Diler := (sqlUpit1.FieldValues['DILER_NAZIV']);
ProdMesto := (sqlUpit1.FieldValues['PRODAJNO_MESTO_NAZIV']);
msisdn:=(sqlUpit1.FieldValues['msisdn']);
iznos:=floattostrf(sqlupit1.fieldbyname('iznos').Value,ffnumber,15,2);
while strlen(pchar(iznos))<sqlupit1.fieldbyname('iznos').DataSize do
begin
iznos:=' '+(iznos);
end;
while strlen(pchar(tid))<sqlupit1.fieldbyname('tid').DataSize do
begin
tid:=' '+(tid);
end;
while strlen(pchar(datum_vreme))<sqlupit1.fieldbyname('datum_vreme').DataSize do
begin
datum_vreme:=' '+(datum_vreme);
end;
while strlen(pchar(uid))<sqlupit1.fieldbyname('uid').DataSize do
begin
uid:=' '+(uid);
end;
while strlen(pchar(iznos))<sqlupit1.fieldbyname('msisdn').DataSize do
begin
msisdn:=' '+(msisdn);
end;
exportFile.Add(
datum_vreme+','
+tid+','
+uid+','
+pin+','
+msisdn+','
+iznos+','
+ Diler+','
+ ProdMesto);
sqlupit1.next;
end;
exportFile.SaveToFile('transakcije.csv');
end;
pozdrav