procedure TForm1.Button1Click(Sender: TObject);
var
  I: integer;
  S: string;
begin
  with TStringList.Cretae do try
    ADOQuery1.First;
    while not ADOQuery1.Eof do begin
      S := '';
      for I := 0 to ADOQuery1.FieldCount -1 do
        S := S + #9 + ADOQuery1.Fields[I].AsString;
      System.Delete(S, 1, 1);
      Add(S);
      ADOQuery1.Next;
    end;
    SaveToFile('a.txt');
  finally
    Free;
  end;

解决方案 »

  1.   

    楼上的兄弟的方法大致正确.但是对于记录超过1024的数据集合好象就有问题了.
    把向TStringList里写的语句换成象文本文件中写就可以了,每个FIELD之间用CHR(9)(<TAB>)隔开,并保存成.XLS文件.这样就可以用EXCEL直接打开了.
    以上方法是利用EXCEL支持的制表符纯文本文件的原理导出.
    因为代码很长就不贴了,自己研究一下好了.
      

  2.   

    李维的<ado.mts.com+>中有介绍。