DbgridEh数据导出到Excel的方法(Delphi)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了DbgridEh数据导出到Excel的方法(Delphi),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1757字,纯文字阅读大概需要3分钟。
内容图文
本文内容严重参考了网上其他牛人的代码,并做了一些修改,使得参数更加简单,结构更清晰,所以就厚着脸皮说是原创。
uses DBGridEhImpExp;
procedure TFrm_func.DbGridEhToExcel(ADgEh: TDBGridEh);
var
ExpClass: TDBGridEhExportclass;
Ext: string;
FSaveDialog: TSaveDialog;
begin
try
if ADgEh.DataSource.DataSet.IsEmpty then
begin
Application.MessageBox(PChar(‘没有可导出的数据‘), PChar(‘提示‘), MB_OK +
MB_ICONINFORMATION);
exit;
end;
FSaveDialog := TSaveDialog.Create(Self);
FSaveDialog.Filter :=
‘Excel 文档 (*.xls)|*.XLS|Text files (*.txt)|*.TXT|Comma separated values (*.csv)|*.CSV|HTML file (*.htm)|*.HTM|Word 文档 (*.rtf)|*.RTF‘;
if FSaveDialog.Execute and (trim(FSaveDialog.FileName) <> ‘‘) then
begin
case FSaveDialog.FilterIndex of
1:
begin
ExpClass := TDBGridEhExportAsXLS;
Ext := ‘xls‘;
end;
2:
begin
ExpClass := TDBGridEhExportAsText;
Ext := ‘txt‘;
end;
3:
begin
ExpClass := TDBGridEhExportAsCSV;
Ext := ‘csv‘;
end;
4:
begin
ExpClass := TDBGridEhExportAsHTML;
Ext := ‘htm‘;
end;
5:
begin
ExpClass := TDBGridEhExportAsRTF;
Ext := ‘rtf‘;
end;
end;
if ExpClass <> nil then
begin
if UpperCase(Copy(FSaveDialog.FileName, Length(FSaveDialog.FileName) -
2, 3)) <> UpperCase(Ext) then
FSaveDialog.FileName := FSaveDialog.FileName + ‘.‘ + Ext;
if FileExists(FSaveDialog.FileName) then
begin
if application.MessageBox(‘文件名已存在,是否覆盖 ‘, ‘提示‘,
MB_ICONASTERISK or MB_OKCANCEL) <> idok then
exit;
end;
Screen.Cursor := crHourGlass;
SaveDBGridEhToExportFile(ExpClass, ADgEh, FSaveDialog.FileName, true);
Screen.Cursor := crDefault;
MessageBox(Handle, ‘导出成功 ‘, ‘提示‘, MB_OK +
MB_ICONINFORMATION);
end;
end;
FSaveDialog.Destroy;
except
on e: exception do
begin
Application.MessageBox(PChar(e.message), ‘错误‘, MB_OK + MB_ICONSTOP);
end;
end;
end;
原文:https://www.cnblogs.com/jijm123/p/13452075.html
内容总结
以上是互联网集市为您收集整理的DbgridEh数据导出到Excel的方法(Delphi)全部内容,希望文章能够帮你解决DbgridEh数据导出到Excel的方法(Delphi)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。