导出全部记录到excel
方法1:独立事件单独写法
procedure TForm3.excel1Click(Sender: TObject); var SaveDialog:TSaveDialog; begin try try SaveDialog:=TSaveDialog.Create(nil); SaveDialog.Filter:='EXCEL电子表格|*.XLS'; //if dbgrdh1.SelectedRows.Count=0 then //begin //ShowMessage('请先选中要导出的数据'); //Exit; //end; if SaveDialog.Execute thenbeginSaveDialog.FileName:=SaveDialog.FileName+'.xls'; // ShowMessage(SaveDialog.FileName); // ShowMessage(Length(SaveDialog.FileName).ToString()); // ShowMessage(Length('E:\翠玲研究delphi\工作小助手\工作小助手输出文件\导出数据到excel\666.xls').ToString()); // ShowMessage(Length('E:\delphi\\\excel\666.xls').ToString()); // ShowMessage(Length('翠玲研究工作小助手工作小助手输出文件导出数据到').ToString()); // ShowMessage(Copy(SaveDialog.FileName,Length(SaveDialog.FileName)-2,3));if FileExists(SaveDialog.FileName) thenbeginif application.MessageBox('文件名已存在,是否覆盖 ', '提示', MB_ICONASTERISK or MB_OKCANCEL)<>idok thenexit;end;Screen.Cursor := crHourGlass;SaveDBGridEhToExportFile(TDBGridEhExportAsXls,dbgrdh1,SaveDialog.FileName,true);Screen.Cursor := crDefault;MessageBox(Handle, '导出成功 ', '提示', MB_OK +MB_ICONINFORMATION);end; excepton e: exception dobeginApplication.MessageBox(PChar(e.message), '错误', MB_OK + MB_ICONSTOP);end; end; finallySaveDialog.Free; end; end;
方法2:类写法
unit UExportExcel;interface usesWinapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Data.DB, Data.Win.ADODB,Vcl.ExtCtrls, Vcl.DBCtrls, Vcl.Grids, Vcl.DBGrids, Clipbrd, Vcl.Menus,Vcl.StdCtrls, DBGridEhGrouping, ToolCtrlsEh, DBGridEhToolCtrls, DynVarsEh,EhLibVCL, GridsEh, DBAxisGridsEh, DBGridEh,EhLibADO,DBGridEhImpExp; /// <summary> /// 导出全部记录数据到excel,思路是用dbgrideh的方法 /// </summary> type TExportExcel =classpublicclass procedure exportexcelall(var ADbgrdh:TDBGridEh); end;implementation class procedure TExportExcel.exportexcelall(var ADbgrdh:TDBGridEh); var SaveDialog:TSaveDialog; begin try try //设置报错对话框的属性 SaveDialog:=TSaveDialog.Create(nil); SaveDialog.Filter:='EXCEL电子表格|*.XLS'; if SaveDialog.Execute thenbegin//设置文件名后缀SaveDialog.FileName:=SaveDialog.FileName+'.xls';//判断文件是否已经存在if FileExists(SaveDialog.FileName) thenbeginif application.MessageBox('文件名已存在,是否覆盖 ', '提示', MB_ICONASTERISK or MB_OKCANCEL)<>idok thenexit;end;Screen.Cursor := crHourGlass; //屏幕鼠标沙漏忙碌状态//导出记录 SaveDBGridEhToExportFile(TDBGridEhExportAsXls,ADbgrdh,SaveDialog.FileName,true);Screen.Cursor := crDefault; //鼠标恢复默认状态//提示导出成功MessageBox(0, '导出成功 ', '提示', MB_OK +MB_ICONINFORMATION);end; except//异常报错on e: exception dobeginApplication.MessageBox(PChar(e.message), '错误', MB_OK + MB_ICONSTOP);end; end; finallySaveDialog.Free; end; end; end.
类引用,记得添加引用单元类名称(UExportExcel);
procedure TForm3.excel1Click(Sender: TObject); begin TExportExcel.exportexcelall(dbgrdh1); end;
附加效果图
转载于:https://www.cnblogs.com/ddxxxb/p/7063509.html
导出全部记录到excel相关推荐
- 安卓手机导出通话记录到Excel
因工作需要统计工作手机的通话记录,在网上找了很多手机管理软件都不能实现记录的导出.后面查了CSDN有很多代码,尝试自己实现. 逻辑: 1.安装安卓开发环境:Android Studio,创建一个APP ...
- 数据完整性测试之【二】导出的CSV、Excel文件和数据库表里的记录
前面的分享 接口返回值和数据库表里的记录[一]说过,把前端页面显示的所有数据明细导出为CSV文件,将其和数据库表里的数据做校验,这儿说下我对导出的CSV.Excel的处理: 个人博客:https:// ...
- anki 插入表格_Anki之导出卡牌组到Excel文件
最近有导出Anki卡牌组到Excel文件的需要,查到了这个教程,Anki插件--导出卡牌到Excel文件-LearnHacks,但结果并不令人满意,所导出的Excel文件只有一列,所选中的卡片字段全部 ...
- python数据导出excel_【python Excel】如何使用python将大量数据导出到Excel中的小技巧之一...
如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...
- 如何在 MySQL / MariaDB 中导入导出数据,导入导出数据库文件、Excel、CSV
文章目录 本教程将详细讲解 1. MySQL / MariaDB 数据库数据「导出」 2. MySQL / MariaDB 数据库数据「导入」 3. 使用「卡拉云」一键导入导出 MySQL / Mar ...
- 通过Java批量导出带有图片的Excel文件数据
批量导出带有图片的Excel文件 一.思路解析 二.关键源码 三.总结 Java通过POI或者一些常见的Excel工具类能够轻易导出后台的结构化数据,但是最近面临一个新需求,需要将对应记录数据和图片网 ...
- sqlserver导出大量数据到Excel,电子表满
sqlserver导出大量数据到Excel 记录导出数据遇到的坑~~~ sqlserver 导出数据到Excel最简单的方法是将查询出来的结果,右键–>另存为excel或者txt.但是这种方式有 ...
- java通过Excel 模板导出复杂统计类excel文档,在ruoyi前后端分离框架中的应用
Hello, 大家好! 我是不作死就不会死,智商不在线,但颜值超有品的拆家队大队长 --咖啡汪 一只不是在戏精,就是在戏精路上的极品二哈 前几天刚做了java通过Excel 模板导出复杂统计类exce ...
- 移动端excel导出_前端实现Excel导入和导出功能
介绍 最近项目中让实现一个导入导出Excel的功能,查找了一些插件后发现js-xlsx这个插件,所以就尝试使用了一下,这里将使用方法和遇到的问题简单记录一下. SheetJS js-xlsx 是一款能 ...
最新文章
- UVA1391 Astronauts(ACM - ICPC 2006 Europe - Central)(2 - SAT问题、输出方案)
- SQL优化基础 使用索引(一个小例子)
- 推荐一个python学习的宝库(github的star数71000+)
- 【大话Hibernate】Hibernate的核心接口和类
- mongodb同时更新一条记录_MongoDB 存储和优化系列一
- Treap原理和实现方法
- 技术面试中,遇到不会回答的问题怎么破?来,教你几招!
- docker容器简介及安装
- 网络摄像头实时获取信息
- java magic number_避免JDBC查询中的CheckStyle magic number错误
- 如何实现文件互拖-VMware Tools (ubuntu系统)安装详细过程与使用
- bzoj 4196 树链剖分 模板
- 陈天奇:十年机器学习科研之路(附链接)|湾区人工智能
- iOS设计模式-适配器
- Mac高效笔记软件GoodNotes 5
- 贪吃蛇游戏-小程序游戏
- 混淆的概念:SIF、CIF、4CIF、D1
- 雷云Razer Synapse2.0使用测评 -第二次作业
- MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型
- macd指标如何看?怎么用MACD指标确定买入和离场点?
热门文章
- IPFS: NAT traversal(NAT穿越)
- Keras Tutorial: Deep Learning in Python
- VirtualAPK:滴滴 Android 插件化的实践之路
- anasys hpc集群_这可能是最简单的并行方案,如何基于 AWS ParallelCluster 运行 ANSYS Fluent...
- python turtle 颜色数字_python的绘图利器--海龟绘图turtle
- volte信令流程详解_VOLTE高清语音通话,呼叫时延低于3秒是如何做到的?
- JZOJ 5483. 【清华集训2017模拟11.26】简单路径
- android excel 筛选功能,Android实现Excel表格展示数据
- ICCV 2017 UCT:《UCT: Learning Unified Convolutional Networks forReal-time Visual Tracking》论文笔记
- python系统字体_Python matplotlib修改默认字体的操作