DBGridEh可不可以实现把检索到的记录输出到文件,如果有另外的方法也可;以前是用batchmove把数据保存到文件,那样产生的数据即没有列名,格式又很乱。

解决方案 »

  1.   

    你还是可以用batchmove把输出结果输出到一个.dbf的啦!它有标题而且格式也不会乱的啦!
      

  2.   

    DBGRIDEH可以直接输出为:rtf,html,txt,excel等格式
      

  3.   

    use DBGridEhImpExp 
    procedure TForm1.ppmSaveSelectionClick(Sender: TObject); 
    var ExpClass:TDBGridEhExportClass; 
    Ext:String; 
    begin 
    SaveDialog1.FileName := 'file1'; 
    if (ActiveControl is TDBGridEh) 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,TDBGridEh(ActiveControl), 
    SaveDialog1.FileName,False); 
    end; 
    end; 
    end; 注意: 
    要先全选内容 
    dbGrideh1.selection.selectall;
      

  4.   

    ActiveControl is TDBGridEh
    是什么意思?
      

  5.   

    procedure TDBMDIChildForm.DBGridEhExport(DBG:TDBGridEh);
    //导出数据
    var
      ExpClass:TDBGridEhExportClass;
      Ext:String;
    begin
      if not DBG.DataSource.DataSet.Active then exit;
      if dlgSave.Execute then
      begin
        case dlgSave.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(dlgSave.FileName,Length(dlgSave.FileName)-2,3)) <>
             UpperCase(Ext) then
            dlgSave.FileName := dlgSave.FileName + '.' + Ext;
          SaveDBGridEhToExportFile(ExpClass,DBG,
              dlgSave.FileName,not DBG.CheckCopyAction);
        end;
      end;
    end;
      

  6.   

    uses DBGridEhImpExp ;    SaveDBGridEhToExportFile(TDBGridEhExportAsXLS, DBGridEh1, SaveDialog1.FileName, True);可以将 DbGridEh 中的数据导入到 Excel 或者 Txt中
      

  7.   

    可以,提供最简单的方法:
    adoquery1.savetofile('c;\aa.xml');
      

  8.   

    今天开工了
    怎么我用uses DBGridEhImpExp,提示说没有DBGridEhImpExp.dcu,我看了一下控件的源码好象是没有这个单元.是不是我用的控件是老的.
    如果是的话哪位仁兄可不可以给一个最新的控件.
    邮箱是[email protected]
    不胜感激!!!