导出全部记录到excel
生活随笔
收集整理的這篇文章主要介紹了
导出全部记录到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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: urllib设置debuglevel打开
- 下一篇: 改购物车