Delphi DBGrid 导出csv

     阅读 341 次    更新时间:2022/3/8    

procedure OutPutDBGridToCSV(AGrd:TDBGrid; AQuery: TQuery);
var
  i,ColNum: Integer;
  Title,Data,SaveName: String;
  ALst: TStringList;
begin
  try
    ALst:=TStringList.Create;
    ALst.Clear;

    ColNum:=0;
    ColNum:=AGrd.Columns.Count-1;

    Title:='';
    Title:='"'+AGrd.Columns.Items[0].Title.Caption+'"';
    for i := 1 to AGrd.Columns.Count-1 do
    begin
      Title:=Title+',"'+AGrd.Columns.Items[i].Title.Caption+'"';
    end;
    ALst.Add(Title);

    with AQuery do
    begin
      First;
      while not Eof do
      begin
        Data:='"'+FieldByName(AGrd.Columns.Items[0].FieldName).AsString+'"';
        for i := 1 to ColNum do
        begin
          Data:=Data+',"'+FieldByName(AGrd.Columns.Items[i].FieldName).AsString+'"';
        end;
        ALst.Add(Data);
        Next;
      end;
    end;
    SaveName:=FormatDateTime('yyyyMMDDhhmmss',Now);
    SaveName:='C:\'+SaveName+'.csv';
    ALst.SaveToFile(SaveName);
  finally
    ALst.Free;
  end;
  Application.MessageBox(PChar('文件保存至'+SaveName),'系统提示',64);

end;
————————————————
版权声明:本文为CSDN博主「whoami」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/songjunyi0113/article/details/8308124

 
 

Copyright 2003-2008 All Rights Reserved 自由风工作室 版权没有 [湘ICP备06002185号]
.