主题:急找最快的DBGRID导出到EXCEL编程方法!!
mrcsw
[专家分:0] 发布于 2006-04-07 10:22:00
急找最快的DBGRID导出到EXCEL编程方法!!
回复列表 (共4个回复)
沙发
sunriver [专家分:1330] 发布于 2006-04-07 12:01:00
用EhDBGrid吧,Eh的方法我有!
板凳
sunriver [专家分:1330] 发布于 2006-04-07 12:02:00
var
ExpClass:TDBGridEhExportClass;//保存文件的地址
Ext:String;//用于判断保存文件的类型
begin
//打印
//PrtDefend.Preview;
SaveDlgDefend.FileName := 'file1';//文件名称
if SaveDlgDefend.Execute then
begin
case SaveDlgDefend.FilterIndex of
1: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
2: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
4: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
5: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
else
ExpClass := nil; Ext := '';
end;
if ExpClass <> nil then
begin
if UpperCase(Copy(SaveDlgDefend.FileName,Length(SaveDlgDefend.FileName)-2,3)) <> UpperCase(Ext) then
SaveDlgDefend.FileName := SaveDlgDefend.FileName + '.' + Ext;
showmessage('导出数据成功!');
SaveDBGridEhToExportFile(ExpClass,GrdBabyNum,SaveDlgDefend.FileName,True);//导出数据
//其中false为局部数据
end;
end;
3 楼
mrcsw [专家分:0] 发布于 2006-04-07 14:18:00
EhDBGrid到哪找,需要外加控件嘛?
4 楼
hanwb2002 [专家分:1340] 发布于 2006-04-07 16:07:00
找TSMExportToXLS这个控件也可以,网上很多的,方法就更简单:
var
sFilePathName: string;
begin
sFilePathName := ExtractFilePath( Application.ExeName ) + 'Excel\1.XLS';
SMExportToXLS1.FileName := sFilePathName;
try
SMExportToXLS1.Execute;
except
MessageBox(Handle,'导出Excel失败!,请查看您是否安装Excel!',sSysName,MB_ICONERROR);
end;
我来回复