如题

解决方案 »

  1.   

    procedure TFrmZaik.Button2Click(Sender: TObject);
    var
       ExpClass:TDBGridEhExportClass;
       Ext:string;
    begin
    if DBGridEh1.DataSource.DataSet.FieldByName('selectflag').AsString=inttostr(1) then
    begin
       FrmLinkResource.ADOQZaik.Close;
       FrmLinkResource.ADOQZaik.Filter:='selectflag = ''1''' ;
       FrmLinkResource.ADOQZaik.Filtered:=true;
       FrmLinkResource.ADOQZaik.Open;   SaveDialog1.FileName:='file1';
       if (activeControl.Showing) then
          if SaveDialog1.Execute then
          begin
          case SaveDialog1.FilterIndex of
            1:
              begin
                 ExpClass := TDBGridEhExportAsText;
                 Ext := 'txt';
              end;
            2:
              begin
                 ExpClass := TDBGridEhExportAsCSV;
                 Ext := 'csv';
              end;
            3:
              begin
                 ExpClass := TDBGridEhExportAsHTML;
                 Ext := 'htm';
              end;
            4:
              begin
                 ExpClass := TDBGridEhExportAsRTF;
                 Ext := 'rtf';
              end;
            5:
              begin
                 ExpClass := TDBGridEhExportAsXLS;
                 Ext := 'xls';
              end;
         else
           ExpClass :=nil;
           Ext:='';
         end;
        if ExpClass <> nil then
         begin
           if UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3)) <> UpperCase(Ext) then
              SaveDialog1.FileName := SaveDialog1.FileName + '.' + Ext;
              SaveDBGridEhToExportFile(ExpClass,DBGridEh1,SaveDialog1.FileName,true);
         end;
       end;
    end;
      

  2.   

    樓主說的是直接拷貝粘貼到EXCEL吧﹖以上代碼是將選中的導出EXCEL﹖﹖