DBGRIDEH导出EXCEL 代码、

解决方案 »

  1.   

    USE前加 DBGridEhImpExp,EhLibADO,
    procedure TForm15.SpeedButton2Click(Sender: TObject);
    var
      ExpClass:TDBGridEhExportClass;
      Ext:String;
    begin
      if (ActiveControl is TDBGridEh) then
        with TDBGridEh(ActiveControl) do
          if CheckSelectAllAction and (geaSelectAllEh in EditActions) then
            Selection.SelectAll;
      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,DBGridEh1,SaveDialog1.FileName,False);
          //其中false为局部数据
        end;
      end;
    end;
      

  2.   


    支持,EHLIST有自己的導出函數,又快又好。:)
      

  3.   

    或者考虑使用OLE技术,即使用CreateOleObject函数,创建EXCEL对象,进行导出操作。
    这种方法更加可自定义,跟根据用户需求来定!而且可导出的表格不仅仅是dbgrideh
    当然你如果要这方面的代码例子,百度一下,网上一大堆!!