uses ComObj,clipbrd;

1 方法:

function ToExcel(sfilename:string; ADOQuery:TADOQuery):boolean;
const
xlNormal=-4143;
var
y :integer;
tsList :TStringList;
s,filename :string;
aSheet :Variant;
excel:OleVariant;
savedialog:tsavedialog;
begin
result:=true;
try
excel:=CreateOleObject('Excel.Application');
excel.workbooks.add;
except
//screen.cursor:=crDefault;
showmessage('无法调用Excel!');
exit;
end;
savedialog:=tsavedialog.Create(nil);
savedialog.FileName:=sfilename; //存入文件
savedialog.Filter:='Excel文件(*.xls)|*.xls';
if savedialog.Execute then
begin
if FileExists(savedialog.FileName) then
try
if application.messagebox('该文件已经存在,要覆盖吗?','询问',mb_yesno+mb_iconquestion)=idyes then
DeleteFile(PChar(savedialog.FileName))
else
begin
Excel.Quit;
savedialog.free;
//screen.cursor:=crDefault;
Exit;
end;
except
Excel.Quit;
savedialog.free;
screen.cursor:=crDefault;
Exit;
end;
filename:=savedialog.FileName;
end;
savedialog.free;
if filename='' then
begin
result:=true;
Excel.Quit;
//screen.cursor:=crDefault;
exit;
end;
aSheet:=excel.Worksheets.Item[1];
tsList:=TStringList.Create;
//tsList.Add('查询结果'); //加入标题

s:=''; //加入字段名
for y := 0 to adoquery.fieldCount - 1 do
begin
s:=s+adoQuery.Fields.Fields[y].FieldName+#9 ;
Application.ProcessMessages;
end;
tsList.Add(s);
try
try
ADOQuery.First;
While Not ADOQuery.Eof do
begin
s:='';
for y:=0 to ADOQuery.FieldCount-1 do
begin
s:=s+ADOQuery.Fields[y].AsString+#9;
Application.ProcessMessages;
end;
tsList.Add(s);

ADOQuery.next;
end;
Clipboard.AsText:=tsList.Text;
except
result:=false;
end;
finally
tsList.Free;
end;
aSheet.Paste;
MessageBox(Application.Handle,'数据导出完毕!','系统提示',MB_ICONINFORMATION or MB_OK);
try
if copy(FileName,length(FileName)-3,4)<>'.xls' then
FileName:=FileName+'.xls';
Excel.ActiveWorkbook.SaveAs(FileName, xlNormal, '', '', False, False);
except
Excel.Quit;
screen.cursor:=crDefault;
exit;
end;
Excel.Visible := false; //true会自动打开已经保存的excel
Excel.Quit;
Excel := UnAssigned;

end;

2.调用:

ToExcel('D:\a.xsl',QueryToExcel);//路径可以自定义

转载于:https://www.cnblogs.com/martian6125/archive/2012/08/04/9631126.html

delphi 快速导出excel相关推荐

  1. excel导出_SpringBoot实现快速导出Excel

     阅读本文约需要6分钟  大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了下MyBatis 几种通用的写法的相关知识,今天跟大 ...

  2. Android使用jxl快速导出Excel表格

    公司有个项目是需要把数据导出Excel表格的,最初是使用的poi来导出的,把poi的jar包放进去后出现各种各样的问题,实在麻烦,然后在网上继续找有没有简单的,就找到了jxl,个人感觉操作确实和网上说 ...

  3. Magicodes.IE之快速导出Excel

    前言 总是有很多朋友咨询Magicodes.IE如何基于ASP.NET Core导出Excel,出于从框架的体验和易用性的角度,Magicodes.IE决定对Excel的导出进行独立封装,以便于大家更 ...

  4. 如何按指定名称快速导出Excel中的图片?

    照例举个例子.如下图所示,工作表中存在多张图片,现在需要将其导出,并按图片向左偏移一个单元格,也就是A列单元格的值进行命名. 导出后结果如下图所示: 如果不追求规范图片命名,只是导出Excel中的图片 ...

  5. Delphi TXLSReadWriteII导出Excel

    TXLSReadWriteII导出Excle (有点复杂,可以自己简化一下,直接从项目中抓取的)procedure TformSubReport.DataToExcel(_Item: Integer; ...

  6. delphi cxgrid导出excel去除货币符号

    版本 : devexpress 13.1.4 打开 包在ExpressExportLibary目录中.  修改FCells.SetCellDataCurrency为FCells.SetCellData ...

  7. delphi导出Excel表

    procedure saveToExcel(); var    Eclapp,workbook:variant;    i,n:integer; begin    if not adoquery1.A ...

  8. 表格导出计算机,电脑怎么导出excel表格数据-如何将百度指数数据导出到Excel表格...

    系统没有导出功能,电脑表格里的数据有什么方法拿... 将网页表格数据导入到Excel中的方法: 第一步,将包括所需表格的网页打开,并按CTRL C把网址复制到剪贴板,以备下一步使用. 第二步,打开运行 ...

  9. jxl 新版电子表格_Android使用jxl快速生成Excel表

    前言 在Android开发时,有些时候需要把app中List集合数据,导出到Excel表中,方便进一步操作.Android可以使用jxl或poi来导出Excel,关于jxl和poi的比较网上有很多说法 ...

  10. 前端复杂表格导出excel,一键导出 Antd Table 看这篇就够了(附源码)

    前端导出 excel 的需求很多,但市面上好用的库并不多,讲明白复杂使用场景的文章更少. 本文将以文字 + demo 源码的形式,力求讲清楚满足 99% 使用场景的终极 excel 导出方案. 如果项 ...

最新文章

  1. 养猪场招研究生年薪18万起?!你怎么看?
  2. @SkipValidation跳过Struts2validation校验器
  3. C++ 虚函数成员和纯虚函数
  4. 用于计算机安全防护的有,《计算机安全防护》PPT课件.ppt
  5. babel import语法 js_Babel 的理解
  6. 手机桌面隐藏大师_应用加密,教你一招隐藏手机桌面上的软件!
  7. jpa 关系拥有方_JPA:确定关系的归属方
  8. vue对象拼接_vue 俩个数组对象合并成一个
  9. iOS加入百度地图的几个问题
  10. 启牛商学院计算机,启牛商学院达摩老师教你三招成为跨界理财达人
  11. 蓝桥杯省赛2018年Java组B组
  12. 华为note10能更新鸿蒙系统吗,华为官方再次确认!荣耀手机也能升级鸿蒙OS系统:内测机型遭到曝光...
  13. 345.反转字符串中的元音字符(力扣leetcode) 博主可答疑该问题
  14. node.js以及读取写入文件
  15. SMAA算法详解 - SMAAEdgeDetectionVS
  16. Python 基础:04 容器类型
  17. 王宝强代言计算机学校,《破晓屠龙》王宝强代言传奇游戏电脑手机都能玩
  18. python阶乘的代码_python编码阶乘
  19. iPhone连接mac电脑连接时反复连接与断开情况的处理
  20. iphone编辑过的录音怎么还原_如何从iPhone上恢复语音备忘录

热门文章

  1. Windows环境与Linux环境条件宏
  2. 从0开始html前端页面开发_CSS设置图像边框阴影
  3. 关于Apt注解实践与总结【包含20篇博客】
  4. 【技术分享】BurpSuite 代理设置的小技巧
  5. memcached可视化客户端工具
  6. CentOS 6.5 + Nginx 1.8.0 + PHP 5.6(with PHP-FPM) 负载均衡源码安装 之 (三)Nginx负载均衡配置...
  7. 48.怎样消除桌面图标上的小箭头:
  8. HTC Desire试玩手记之四(GPS连不上)
  9. FPGA系列之一:Cyclone V中的时钟资源
  10. Linux 系统级开启文件句柄 调优