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;

(转载)DBGridEh导出Excel等格式文件的更多相关文章

  1. SPOOL 命令使用实例【oracle导出纯文本格式文件】

    SPOOL 命令使用实例[oracle导出纯文本格式文件] SET echo off              --在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句: SET ...

  2. [转载]Java导出Excel

    一.需求介绍 当前B/S模式已成为应用开发的主流,而在开发企业办公系统的过程中,常常有客户这样子要求:把系统数据库中的数据导出到Excel,用户查看报表时直接用Excel打开.或者是:用户已经习惯用E ...

  3. goalng导出excel(csv格式)

    最近项目中有个小需求,需要将查询结果导出到excel.之间前java比较容易,使用POI很容易就能实现,查了下golang的文档,发现golang下边并没有导出excel的包,但是却有一个encodi ...

  4. Delphi DBGridEh导出Excel

    unit Unit_DBGridEhToExcel; interface uses SysUtils, Variants, Classes, Graphics, Controls, Forms, Ex ...

  5. POI导入导出Excel(HSSF格式,User Model方式)

    1.POI说明 Apache POI是Apache软件基金会的开源代码库, POI提供对Microsoft Office格式档案读和写的功能. POI支持的格式: HSSF - 提供读写Microso ...

  6. [转载]poi导出excel,可以自定义保存路径

    poi导出excel比js导出excel安全性更好,在使用poi导出excel时,先要导入poi-3.5-FINAL-20090928.jar包到你项目的lib目录下,我这里选择是3.5版的 1.ac ...

  7. 将数据 导出excel表格式

    我的考试完提交生成的数据 这是我的考试题类型 //导出调查评议的数据 public function diaocha(){ $xlsName = '表格形式 调查评议 信息'; $xlsTitle = ...

  8. AX导出excel设置格式

    今天在AX2009里面写一个导出EXCEL,没有模版,这是第一次碰到,之后写完之后发现导出的数据格式不对. 到处取经之后得到一下结果: 定义一个 Com   range; SysExcelCells  ...

  9. 《转载》POI导出excel日期格式

    参考帖子: [1]http://www.ithao123.cn/content-2028409.html [2]http://javacrazyer.iteye.com/blog/894850 再读本 ...

随机推荐

  1. opencl 在vs2015上遇见的问题

    严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C4996 'clCreateCommandQueue': 被声明为已否决 Project2 d:... 解决方法:#pragma warnin ...

  2. 10409 - Die Game

    Problem G: Die Game Life is not easy. Sometimes it is beyond your control. Now, as contestants of AC ...

  3. Hyper-V性能监控_CPU

    Hyper-V性能监控: 物理CPU: \Hyper-V Hypervisor Logical Processor(*)\%Total Run Time %Total Run Time :处理器处理来 ...

  4. OR 改写union数据变少

    <pre name="code" class="sql">SQL> SELECT deptno FROM emp WHERE mgr = 76 ...

  5. Winform-CheckBox、ChecklistBox控件遍历代码

    CheckBox,是各种开发语言环境和网页中常用的控件.下面,本文给大家讲解的是C#Winform版的CheckBox.控件遍历.全选.反选实例代码.①直接引用如果窗体form中存在CheckBox控 ...

  6. iOS开发中一些常用的方法

    1.压缩图片 #pragma mark 处理图片 - (void)useImage:(UIImage *)image { NSLog(@"with-----%f heught-----%f& ...

  7. ss与 netstat

    ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag.tcp_diag是一个用于分析统计的模块, 可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效.当然,如果你的系统中没有tcp ...

  8. mysql.cnf 配制文件详解

    代码如下: [client]port = 3306socket = /tmp/mysql.sock [mysqld]port = 3306socket = /tmp/mysql.sock basedi ...

  9. [转] Android进阶——安卓接入微信,获取OpenID

    PS: sendAuthRequest拿到code,通过code拿到access_token和openId,access_token可以拿到用户的信息 http://blog.csdn.net/hao ...

  10. Java基础知识强化之IO流笔记54:IO流练习之 LineNumberReader的特有的功能使用

    1. LineNumberReader的特有的功能:  BufferedReader |--LineNumberReader  public int getLineNumber():获得当前行号.   ...