Delphi从DBgrid导出Excel

delphi dbgrid导出excel单元文件绝对好用 delphi dbgrid导出excel单元文件绝对好用 调用方式 var GridtoExcel: TDBGridEhToExcel; begin GridtoExcel := TDBGridEhToExcel.Create(nil); try GridtoExcel.DBGridEh := DBGridEh1; GridtoExcel.FileName := FormatDateTime('yyyy-mm-dd',DateTimePicker1.DateTime)+ '--------'+FormatDateTime('yyyy-mm-dd',DateTimePicker2.DateTime) +'退款订单导出'; GridtoExcel.ShowProgress := True; GridtoExcel.ExportToExcel; finally GridtoExcel.Free; end; end; 立即下载

注意rightStr需要用到strutils;

procedure DbGrid2Xls(dbgrd: TDBGrid; fileName: string);

var
  Xls: Variant;
  I, L: Integer;
begin
  if LowerCase(RightStr(fileName, 4)) <> '.xls' then
    fileName := fileName + '.xls';
  try
    Xls := CreateOleObject('Excel.application');
    Xls.workbooks.add;
  except
    ShowMessage('请先安装MICROSOFT EXCEL');
    Exit;
  end;
  if not dbgrd.DataSource.DataSet.IsSequenced then
    Exit;
  if dbgrd.DataSource.DataSet.IsEmpty then
    Exit;
  for I := 1 to dbgrd.Columns.Count do
  begin
    Xls.cells[1, I] := dbgrd.Columns[I - 1].Title.Caption;
  end;
  L := 2;
  try
    dbgrd.DataSource.DataSet.DisableControls;
    dbgrd.DataSource.DataSet.First;
    while not dbgrd.DataSource.DataSet.Eof do
    begin
      for I := 1 to dbgrd.Columns.Count do
      begin
        Xls.Cells[L, I].NumberFormat := '@';
        Xls.Cells[L, I] := dbgrd.DataSource.DataSet.FieldByName(dbgrd.Columns[I - 1].FieldName).AsString;
      end;
      inc(L);
      dbgrd.DataSource.DataSet.Next;
    end;
  finally
    Xls.WorkBooks[Xls.WorkBooks.Count].SaveAS(filename);
    Xls.activeWorkBook.saved := true;
    Xls.workbooks.close;
    Xls.quit;
    dbgrd.DataSource.DataSet.EnableControls;
  end;

end;

//====导出excel有图片的代码片段============

        Fpicture := Sheet.Pictures.Insert(appPath + 'tmpJpg.jpg');
        Fpicture.Width := 102;
        Fpicture.Height := 126;
        Fpicture.Select;
        Fpicture.copy;
        Sheet.Cells[L, dbgrd.Columns.Count + 1].select;
        Sheet.Pictures.Paste.Select;
        Fpicture.delete;

//==================优化速度版本=======

procedure DbGrid2XlsEx(dbgrd: TDBGrid; fileName: string);
var
  str:string;
  Xls,sheet: Variant;
  I, L: Integer;
begin
  if LowerCase(RightStr(fileName, 4)) <> '.xls' then
    fileName := fileName + '.xls';
  try
    Xls := CreateOleObject('Excel.application');
    Xls.workbooks.Add(1);
  except
    ShowMessage('请先安装MICROSOFT EXCEL');
    Exit;
  end;
  if not dbgrd.DataSource.DataSet.IsSequenced then
    Exit;
  if dbgrd.DataSource.DataSet.IsEmpty then
    Exit;
  for I := 1 to dbgrd.Columns.Count do
  begin
    str := str + dbgrd.Columns[I - 1].Title.Caption + #9;
  end;
  str := str + #13;
  try
    dbgrd.DataSource.DataSet.DisableControls;
    dbgrd.DataSource.DataSet.First;
    while not dbgrd.DataSource.DataSet.Eof do
    begin
      for I := 1 to dbgrd.Columns.Count do
      begin
       str := str + dbgrd.DataSource.DataSet.FieldByName
          (dbgrd.Columns[I - 1].FieldName).AsString + #9 ;
      end;
      str := str +#13;
      dbgrd.DataSource.DataSet.Next;
    end;
    Clipboard.AsText := str;

    sheet := Xls.Workbooks[1].Worksheets[1];
    sheet.Paste;
  finally
    Xls.workbooks[Xls.workbooks.Count].SaveAS(fileName);
    Xls.activeWorkBook.saved := true;
    Xls.workbooks.close;
    Xls.quit;
    dbgrd.DataSource.DataSet.EnableControls;
  end;
end;
 

Delphi DBGRID数据导出 Excel 文件的方法 附件内是Delphi下将DBGRID中数据导出为Excel文件的方法,早上刚从网上下载过来用过,很好用。只需要添加两个文件到工程中,然后再写1句代码调用方法就好了噢,非常的方便!!!内附使用说明。 立即下载

相关推荐

从DBGrid导出到Excel表格 4种方法

从DBGrid导出到Excel表格 4种方法

delphi excel

dbgrid数据导出为excel uses Excel2000,ComObj; procedure F_Form.Button1Click(Sender: TObject); var myExcel:TExcel; Int_i,Int_j,rowCount,columnCount:Integer; ExcelId:Variant; beg...

dkopg24406的专栏 246

delphi5+存储过程+DBGridEh组件+导出Excel

delphi5+存储过程+DBGridEh组件+导出Excel

Delphi 导出数据至Excel的7种方法

一; delphi 快速导出excel uses ComObj,clipbrd; function ToExcel(sfilename:string; ADOQuery:TADOQuery):boolean; const xlNormal=-4143; var y : integer; tsList : TStringList; s,filename :strin

crkres9527 1万+

win2012没有远程桌面授权服务器可以提供许可证 如何远程

如果远程windows服务器时,提示“没有远程桌面授权服务器可以提供许可证 如何远程”,先通过以下方式进行强制登录,然后在对服务器进行设置即可,延期使用。 强制登录服务器方式; 1、运行—输入:mstsc /admin /v ip:端口 回车即可 2、进入远程桌面,输入 ip:端口 /admin 例如:mstsc /admin /v 192.168.0.131:23568 进入服务器以后,按照以下步骤进行设置即可: ...

蜗牛快爬 1万+

思澈sdk-新建lcd

co5300至此有3个同ID的驱动,在co5300xxxx.c的LCD_DRIVER_EXPORT(co5300, LCD_ID, &lcdc_int_cfg, &CO5300_drv, LCD_PIXEL_WIDTH, LCD_PIXEL_HEIGHT, 2);2 在customer\peripherals\Kconfig_lcd中添加如下配置(注意修改的地方有两个LCD_USING_TFT_CO5300_143)5 在该文件中的config LCD_DPI配置项下添加:(这里300为DPI)

gongyuan073的专栏 1388

在delphi中,从dbgrid导出数据保存成excel文件

实验了,很好用function TForm1.ExportDBGrid(DBGrid: TDBGrid; SheetName: string): boolean;//直接保存,不显示EXCEL<br />var<br />c, r, i, j: integer;<br />app: Olevariant;<br />TempFileName, ResultFileName: string;<br />begin<br />try<br />    result := True;<br />      app

继网开来的专栏 6639

不用公网IP!用Ollama+Chatbox搭建家庭AI助手(内网穿透方案对比)

本文详细介绍了如何利用Ollama和Chatbox在家庭局域网中搭建本地AI助手,无需公网IP即可实现内网穿透。通过对比不同穿透方案(如Tailscale、FRP等),提供最优配置建议,帮助用户低成本部署隐私安全的家庭AI系统,适用于智能家居、儿童教育等多种场景。

weixin_26765287的博客 460

Delphi 将DBGrid中的内容导出到Excel

Delphi 将DBGrid中的内容导出到Excel function Tfbalance.ExportDBGrid(DBGrid: TDBGrid; SheetName: string): boolean;//直接保存,不显示EXCEL var c, r, i, j: integer; app: Olevariant; TempFileName, ResultFileName: string;...

qq_37033647的博客 1014

VXLAN技术详解

VXLAN(虚拟可扩展局域网)是一种Overlay二层虚拟化技术,通过MAC-in-UDP封装在IP网络上构建大规模虚拟二层网络。核心组件包括VTEP(隧道端点)、24位VNI(支持1600万个虚拟网络)和VXLAN网关。相比VLAN,VXLAN具有超大规模扩展、跨三层互联、支持虚拟机无缝迁移等优势,适用于云数据中心多租户隔离、跨数据中心互联等场景。其基于IP路由的封装方式无需改造物理网络,为现代云网络提供了弹性、安全的虚拟化解决方案。

kjkdd的博客 595

忍者安全渗透系统(NINJITSU OS V3)的安装详细过程,亲测新旧vm版本都可安装,附带下载来源

忍者安全渗透系统(NINJITSU)的安装详细过程,亲测新旧vm版本都可安装,附带下载来源

1万+

DELPHI控件DBGRID导出EXCEL格式

dbgrid数据导出为excel uses Excel2000,ComObj; procedure F_Form.Button1Click(Sender: TObject); var myExcel:TExcel; Int_i,Int_j,rowCount,columnCount:Integer; ExcelId:Variant; begin try ExcelId:=CreateOleObject('Excel.Application'); except ...

阳光有点冷 1442

Java:PriorityQueue详解——从零基础到应用

看了网上的详解,我反是一篇没看懂,都是什么垃圾玩意也发出来,无语,我自己根据这两天的学习总结出来了下面这些干货,我就是这么学会的,大家要是零基础看肯定木问题。

流楚丶格念的博客 6142

DELPHI7 DBGRID 导出EXCEL

uses comobj;function TSocialInsuranceForm.ExportDBGrid(DBGrid: TDBGrid; SheetName: string): boolean;//直接保存,不显示EXCE...

cuiweigk19423的博客 704

华为OD机考双机位C卷 - 斗地主之顺子 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 斗地主之顺子(OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 9694

2023年GESP12月认证C++五级真题解析

例如,如果a=4,那么4是最⼩的幸运数,而1不是,但我们可以连续对1做3次+1操作,使其变为4,所以我们可以说,1幸运化后的结果是 4。【题目大意】给一个完全平方数的标准,推导出哪些是超级幸运数,然后判断N个数字中,哪些是超级幸运数,是的输出“lucky”,不是的输出离该数字最近的比它大的数字。前一个数字,下标是j的数字是偶数,后面的数字下标是j+1的是奇数,按照要求,偶数在奇数的后面,要交换。A函数时间复杂度是O(n/2),B函数算法是O(sqrt(n)),大部分情况后者是优的,值更小。

lan_in的博客 1007

Delphi 动态导出DBGrid To Excel

经常会遇到DBGRID 转入到EXCEL中的情况,所以写了个通用程序,希望对大家有用。 procedure TDM.DBGridExport(GRID:TDBGRID); var       //DBGRID控件内容存储到EXCEL 只有第一行有标题     EclApp:Variant;     XlsFileName:String;     sh:olevariant;

全欣 的专栏 5986

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

delphi dbgrid数据导出为excel

uses Excel2000,ComObj; procedure F_Form.Button1Click(Sender: TObject);var myExcel:TExcel; Int_i,Int_j,rowCount,columnCount:Integer; ExcelId:Variant;begin try ExcelId:=CreateOleObj...

abaqz04484的专栏 172

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Delphi+DBGrid导出Excel文件代码 (适合没有安装excel的机器)

<br />说明<br /> <br />delphi  DBGrid导出Excel文件最快速的代码<br /> <br />使用方法:<br />xls.pas为导出核心代码。<br /><br />myclass.pas为独立建立的一个类,用于引用核心代码建立一个DBGrid导出Excel文件的函数,该函数为DataSetToExcel(MydataSet:tdataset)<br /><br />StatHw.pas为引用该函数的一个示例:<br /><br />uses myclass;<br />

ijong的笔记 5563

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Delphi7 导出Dbgrid数据到Excel 默认路径设置为我的文档

下面代码是自己写的,今天有个同学打电话问我 在Delphi7 导出Dbgrid数据到Excel 正好我最近写过  也许会有更多的网友也会遇到类似的问题,把代码发下, 大家可以参考,有什么不足及需要改进的地方,请指教。 让我们共同学习。 procedure TFPeopleMgr.N6Click(Sender: TObject); var j:   integer; file

云中雁012345之成长 2069

delphi DBGrid的数据导出到Excel文件保存

delphi 将DBGrid的数据导出到Excel文件保存 文章出自:http://blog.youkuaiyun.com/suiyunonghen/archive/2009/05/21/4207564.aspx (* 原作者: iamdream(delphi盒子) 修改: 不得闲 功能: 将DbGrid数据保存到Excel 参数: Grid指...

weixin_33866037的博客 359

delphi将DBGRID数据导出到EXCEL表中

先在USES中添加Comobj {功能描述:把DBGrid输出到Excel表格(支持多Sheet)调用格式:CopyDbDataToExcel([DBGrid1, DBGrid2]);} procedure CopyDbDataToExcel(Args: array of const);var iCount, jCount: Integer; XLApp: Variant; Sheet:...

weixin_30568715的博客 303

DBGird导出Excel(delphi)

<br />今天新学了从DBGird把数据导出到Excel里显示。挺费劲的弄的。不过做出来还是蛮高兴的。由于数据太多,导出的也比较慢。<br />方法:<br />procedure DBGridInFoToExcel(FileName, TitleCaption: string;<br />  MakeDataSource: TDataSource; makeDBGrid: TDBGrid);<br />var<br />  xlApp, xlSheet, szValue: Variant;<br /> 

.net成长不容易 1139

将GRID中数据导出到 EXCEL文件中

//将GRID中数据导出到 EXCEL文件中function ExportDBGridEHToExcel(ADBGridEH: TDBGridEh; AOutputFileName: string ; ASheetName :string ): Boolean;var  liFieldIndex: Integer;  liRecordIndex: Integer;  loXmlWriter: TX

zwylly99的专栏 1214
下一篇: Delphi中Ini读写函数
jjpweb
博客等级 码龄23年 38粉丝 12原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值