zoukankan      html  css  js  c++  java
  • DBGridEh导出EXCEL

    DBGridEh导出Excel等格式文件

     
    uses DBGridEhImpExp;
     {-------------------------------------------------------------------------------
      过程名:    TfrmEmplyExport.OutToFile
      作者:      han
      日期:      2007.08.08
      参数:      IADO : TADOQuery; DgEh : TDBGridEh
      返回值:    无
      说明:      导出查询结果到文件
    -------------------------------------------------------------------------------}
    procedure TfrmEmplyExport.OutToFile(IADO : TADOQuery; DgEh : TDBGridEh);
    var
      ExpClass:TDBGridEhExportclass;
      Ext:String;
      FSaveDialog: TSaveDialog;
    begin
      try
        if not IADO.IsEmpty then
        begin
          FSaveDialog := TSaveDialog.Create(Self);
          FSaveDialog.Filter:='Excel 文档 (*.xls)|*.XLS|Text files (*.txt)|*.TXT|Comma separated values (*.csv)|*.CSV|HTML file (*.htm)|*.HTM|Word 文档 (*.rtf)|*.RTF';
          if FSaveDialog.Execute and (trim(FSaveDialog.FileName)<>'') then
          begin
            case FSaveDialog.FilterIndex of
                1: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
                2: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
                3: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
                4: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
                5: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
            end;
            if ExpClass <> nil then
            begin
              if UpperCase(Copy(FSaveDialog.FileName,Length(FSaveDialog.FileName)-2,3)) <> UpperCase(Ext) then
                FSaveDialog.FileName := FSaveDialog.FileName + '.' + Ext;
                if FileExists(FSaveDialog.FileName) then
                begin
                  if application.MessageBox('文件名已存在,是否覆盖   ', '提示', MB_ICONASTERISK or MB_OKCANCEL)<>idok then
                    exit;
                end;
               Screen.Cursor := crHourGlass;
               SaveDBGridEhToExportFile(ExpClass,DgEh,FSaveDialog.FileName,true);
               Screen.Cursor := crDefault;
               MessageBox(Handle, '导出成功  ', '提示', MB_OK +
                 MB_ICONINFORMATION);
              end;
          end;
          FSaveDialog.Destroy;
        end;
      except
        on e: exception do
        begin
          Application.MessageBox(PChar(e.message), '错误', MB_OK + MB_ICONSTOP);
        end;
      end;                       
    end;
  • 相关阅读:
    项目总结60:Springboot集成swagger2
    ELK学习01:ELK安装
    Java深入学习16:NIO详解2-Selector
    Java深入学习15:NIO详解1-基本概念、Buffer、Channel
    Java深入学习14:Java线程池
    Java深入学习13:synchronized在静态方法和非静态方法下的同步
    Java深入学习12:线程按目标顺序执行以及Lock锁和Condiiton接口
    项目总结59:Redis分布式锁解决电商订单库存并发问题
    Java深入学习11:Lock锁详解
    Java深入学习09:URL类使用和判断图片资源是否有效
  • 原文地址:https://www.cnblogs.com/mingdep/p/2565827.html
Copyright © 2011-2022 走看看