DBGridEh导出Excel等格式文件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DBGridEh导出Excel等格式⽂件
uses DBGridEhImpExp;
{-------------------------------------------------------------------------------
过程名: TfrmEmplyExport.OutToFile
作者: han
⽇期: 2007.08.08
参数: IADO : TADOQuery; DgEh : TDBGridEh
返回值: ⽆
说明: 导出查询结果到⽂件
-------------------------------------------------------------------------------}
procedure TfrmEmplyExport.OutToFile(IADO : TADOQuery; DgEh : TDBGridEh);
var
ExpClass:TDBGridEhExportclass;
Ext:String;
FSaveDialog: TSaveDialog;
begin
try
if not IADO.IsEmpty then
begin
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,DgEh,FSaveDialog.FileName,true);
Screen.Cursor := crDefault;
MessageBox(Handle, '导出成功 ', '提⽰', MB_OK +
MB_ICONINFORMATION);
end;
end;
FSaveDialog.Destroy;
end;
except
on e: exception do
begin
Application.MessageBox(PChar(e.message), '错误', MB_OK + MB_ICONSTOP);
end;
end;
end;。