我是通过循环语句, 一条条写入到EXCEL的,可四万多条的数据,要二个多小时, 这也太恐怖了.
谁有好的方法,可以快速导出呢?

解决方案 »

  1.   

    可以用copy,paste,现拷贝到剪贴板,然后在拷贝到excel里
      

  2.   

    to hsmserver(撒哈拉之雨的悲伤) 
     DBGridEh怎么直接导出啊?
      

  3.   

    procedure  ExportData(title:string;exDataset:TDBGridEh;Data:Tquery;style:TexportKind;saveDir:string);
    var
       Excel : TStringList;
       count : integer;     //处理DBGRID列时使用
       rData : string  ;    //行数据;
    begin
      Rdata:='';
      Data.First;
      
      DATA.DisableControls;
      case style of
        eHtml : begin
        end;   {ehtml end}
        eExcel: begin
           saveDir:=SaveDir+'.xls';       Excel := TStringList.Create;
           with exDataset do begin
              excel.Add(title);          for count := 0 to Columns.Count-1 do
              begin
                rData := RData+Columns[count].Title.Caption +#9;
              end;
              excel.Add(rData);
              rData :='';
              
              with data do begin
                 while not eof do begin
                   {由于在处理回车换行时多增加了一列隐藏列,实为无字段列。}                for count:=0 to Columns.Count-1 do begin
                       rData :=Rdata+Fields[count].Text+#9;
                    end;  {for count}
                    excel.Add(rdata);
                    Rdata:='';
                    next;
                 end;  {while}
              end; {for with data}
           end;{with exDateset}
           excel.SaveToFile(savedir);
           FreeAndNil(excel);
        end; { eExcel:begin}
        eTxt  : begin
            SaveDir:=SaveDir+'.txt';
            Excel := TstringList.Create;
            excel.Add(title);
            with exDataset do begin
                with data do begin
                   while not eof do begin
                      for count:=0 to Columns.count-2 do begin
                         rdata:=rdata+Fields[count].Text+'  ';
                      end; { with count}
                      Excel.Add(rdata);
                      rdata:='';
                      next;
                   end; {while}
                end; {with data}
                Excel.SaveToFile(savedir);
            end; {with exdataset}
            FreeAndNil(excel);
        end;
      end; {case}
      DATA.EnableControls;
    end;
      

  4.   

    DBGridEh导出到Excel是加#9分隔的,不能设置格式的
      

  5.   

    这样:
    uses DBGridEhImpExp ;
    ...
    ...
    ...
    SaveDBGridEhToExportFile(TDBGridEhExportAsXLS, DBGridEh1, FileNameStr, True);
      

  6.   

    uses DBGridEhImpExp ;
    ...
    ...
    ...
    SaveDBGridEhToExportFile(TDBGridEhExportAsXLS, DBGridEh1, FileNameStr, True);
    楼上的朋友能说得具体一点吗?DBGridEhImpExp是什么?