Ehlib中怎样把当前的DBGridEh导出为Excel(*.XLS)

解决方案 »

  1.   

    楼主在CSDN里搜索一下吧,能找到好多同类帖子
      

  2.   

    导入/导出数据
        导入/导出数据在实际处理过程中是比较烦琐的。但是Enlib3提供了一系列函数让你轻松实现此功能,而且支持的文件格式很多:Text, Csv, HTML, RTF, XLS 和内部数据格式。除此之外,还可对任意选择的数据区域进行操作。函数如下:Pascal: SaveDBGridEhToExportFile(TDBGridEhExportAsText,DBGridEh1,'c:\temp\file1.txt',False);其中false参数表示导出的是选中的局部数据区域数据,true则为整个表格数据。例:将当前表格中数据导出为EXCEL等格式文件。
        在窗体中添加一个SaveDialog组件和“导出”按钮B_exp,在“导出”按钮的click事件中添加如下代码:procedure TForm1.B_expClick(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,DBGridEh1,SaveDialog1.FileName,False);
          //其中false为局部数据
        end;
      end;
    end;---------------
    楼主给分.
      

  3.   

    呵,楼上的,太黑暗了吧,这不是Ehlib中的DEMO嘛,给要分我一半,我也知道,只是慢了一步!!!~~