zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    移动H5页面微信支付踩坑之旅(微信支付、单页面路由模拟、按钮加锁、轮询等常见功能)
    EDM模板编写踩坑指南(持续更新中)
    7天内我面试了10家公司,如何从命中率0%到命中率至70%?
    codewars.DNA题目几种解法分析(字符串替换)
    webpack+react搭建环境
    手机端访问网页 js根据浏览器区别转入手机端网址的URL
    树状数组————(神奇的区间操作)蒟蒻都可以看懂,因为博主就是个蒟蒻
    DFS————从普及到IOI(暴力骗分小能手)
    Manacher(马拉车)————O(n)回文子串
    离散化————实现梦想的算法
  • 原文地址:https://www.cnblogs.com/cnajian/p/2159227.html
Copyright © 2011-2022 走看看