将DBGrid中的数据快速导出到Excel的控件

时间:2011-01-27 11:08:11
【文件属性】:

文件名称:将DBGrid中的数据快速导出到Excel的控件

文件大小:16KB

文件格式:PAS

更新时间:2011-01-27 11:08:11

delphi控件

发布原因:
在网上找了很久也没找到个好用的,不是慢,就是要依赖Excel(必须按装),又找呀找,才找到一个http://blog.csdn.net/xiangding/archive/2003/10/27/16918.aspx,但试了一下,不能用,不知是我用法不对还是本身有问题(由于没有给出使用示例),后来找到http://developer.51cto.com/art/200510/7494.htm这个不错,但他又让我装ehlid,不爽,所以对其做了修改,其它也就是去了个加页脚的地方,很爽,有进度条,导完后如果按安装了Excel则直接打开,如果没有的话就不管了,自已想办法打开吧!

特点:
一、不需安装Excel即可导出。
二、有进度条。
三、最多可以导出多少条,我没试,我试了5万条没有问题,时间也就是只需1-5分钟(我电脑较慢)。
四、不需安装组件。

使用方法(注:别忘了uses DBGridToExcel;):
procedure TForm1.btn1Click(Sender: TObject);
var
DBGridToExcel: TDBGridToExcel;
ExcelFileName: string;
begin
DBGridToExcel := TDBGridToExcel.Create(nil);
try
DBGridToExcel.TitleName := '入网车辆统计报表';
DBGridToExcel.BeginDate := '开始日期:2005-07-01';
DBGridToExcel.EndDate := '结束日期:2005-07-18';
DBGridToExcel.UserName := '系统管理员';
DBGridToExcel.DBGrid := dbgrd1;
DBGridToExcel.ShowProgress := True;
if ExcelFileName = '' then
begin
ExcelFileName := 'c:\1.xls';
with TSaveDialog.Create(nil) do
begin
Filter := 'Microsoft Excel xls文件|*.xls';
DefaultExt := 'xls';
if not Execute then
Exit
else
ExcelFileName := FileName;
end;
end;
DBGridToExcel.FileName := ExcelFileName;
DBGridToExcel.Open := False;
DBGridToExcel.ExportToExcel;
finally
DBGridToExcel.Free;
end;
end;


网友评论

  • 与我用处不大,感谢分享
  • 已拿来测试,凑合着用吧!
  • 最后还是用了Tdbgrideh的,不能算快速吧,只能说不是特别慢。
  • 非常好用,再来
  • 好好用哇!太感谢发布者的控件!
  • 确实有用啊
  • 正在使用,验证……
  • 有点BUG,不能正常测试
  • 不能用,对dbgrid属性赋值的时候就出错了,dbgrideh的导出也不支持
  • 有点BUG,不能正常测试
  • 我也弄出一堆乱码,还是谢谢分享!
  • 可以使用,但有BUG,如果导出到文件夹中,不能释放
  • 代码不错,正好学习了
  • 该控件改写的不错。
  • 确实给力,有用!!
  • 貌似没用,至少我没有用上!哎~~
  • 没法测试,有点不太完整
  • 没有Demo
  • 只一个单元文件,最好有个DEMO测试一下.
  • 代码貌似有点问题不知道是代码复制的时候出的,open哪个变量明显的不存在嘛,而且在导出到excel时标题是乱码,数据到没有出错