如题,谢谢

解决方案 »

  1.   

    使用fastreport打印可以。将fr连接到dbgrid所连接的数据源,fr中有一个专门的组件可将表格转化为csv格式
      

  2.   

    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;
      

  3.   

    谢谢,不过导出来的文件和DBGRID显示的不一样