DBGridからCSV出力(エクスポート)

DBGridからcsvファイルを出力するには、下記Buttonコンポーネントを貼り付け
下記のコードを記述してください。

使用コンポーネント
TButton TSaveDialog TDBGrid


procedure TForm1.Button1Click(Sender: TObject);
var
 F: TextFile;
 CSVFile: String;
 stl: TStringList;
 i: Integer;
begin
 //保存場所の指定
 if SaveDialog1.Execute then
 begin
  CSVFile := SaveDialog1.FileName;
 end
 else
 begin
  Exit;
 end;

 stl := TStringList.Create;
 try
  //ファイル出力
  AssignFile(F,CSVFile); //ファイルと実ファイル結びつける
  ReWrite(F); //ファイルを新規作成して開く
  DBGrid1.DataSource.DataSet.First;
  //タイトル(フィールド)行の出力
  for i := 0 to DBGrid1.DataSource.DataSet.FieldCount - 1 do
  begin
   stl.Add(DBGrid1.DataSource.DataSet.Fields[i].FieldName);
  end;
  Writeln(F,stl.CommaText);
  stl.Clear;
  //リスト出力
  while Not(DBGrid1.DataSource.DataSet.Eof) do
  begin
   for i := 0 to DBGrid1.DataSource.DataSet.FieldCount - 1 do
   begin
    stl.Add(DBGrid1.DataSource.DataSet.Fields[i].AsString);
   end;
   Writeln(F,stl.CommaText); //テキストファイルに1行出力
   stl.Clear;
   DataSource1.DataSet.Next;
  end;
  CloseFile(F); //ファイルを閉じる
 finally
  stl.Free;
 end;
end;