CSV文件是用逗号分隔的纯文本 var sl : TStringList; i,j : Integer; sLineText : string; begin sl := TStringList.Create; sLineText := ''; with DBGrid1 do begin //导出字段名 for i:=0 to Columns.Count-1 do begin sLineText := sLineText + Columns.Items[i].FieldName; sLineText := sLineText + ','; end; sl.Add(Copy(sLineText,1,Length(sLineText)-1)); //导出字段值 with DataSource.DataSet do begin First; for i:=0 to RecordCount-1 do begin sLineText := ''; for j:=0 to Columns.Count-1 do begin sLineText := sLineText + Fields.FieldByName(Columns.Items[i].FieldName).AsString; sLineText := sLineText + ','; end; sl.Add(Copy(sLineText,1,Length(sLineText)-1)); Next; end; end; end; //存文件 sl.SaveToFile('C:\aaa.csv'); sl.Free; end;
var
sl : TStringList;
i,j : Integer;
sLineText : string;
begin
sl := TStringList.Create; sLineText := ''; with DBGrid1 do
begin
//导出字段名
for i:=0 to Columns.Count-1 do
begin
sLineText := sLineText + Columns.Items[i].FieldName;
sLineText := sLineText + ',';
end;
sl.Add(Copy(sLineText,1,Length(sLineText)-1)); //导出字段值
with DataSource.DataSet do
begin
First;
for i:=0 to RecordCount-1 do
begin
sLineText := ''; for j:=0 to Columns.Count-1 do
begin
sLineText := sLineText + Fields.FieldByName(Columns.Items[i].FieldName).AsString;
sLineText := sLineText + ',';
end;
sl.Add(Copy(sLineText,1,Length(sLineText)-1)); Next;
end;
end;
end; //存文件
sl.SaveToFile('C:\aaa.csv'); sl.Free;
end;