procedure TFmavin.E3Click(Sender: TObject);
var
myexcel:variant;
workbook
levariant;
worksheet
levariant;
i,j:integer;
begin
if application.MessageBox('确认要导出数据吗?如果数据量过大,将会有一段时间不能响应!','警告!',MB_OKCANCEL+MB_ICONQUESTION)=IDCANCEL then
exit;
try
myexcel:=createoleobject('excel.application');
myexcel.application.workbooks.add;
myexcel.caption:='将数据导入到EXCEL表中';
myexcel.application.visible:=true;
workbook:=myexcel.application.workbooks[1];
worksheet:=workbook.worksheets.item[1];
except
showmessage('请确认EXCEL安装正确!');
end;
Fmain.StatusBar.Panels.Items[1].Text:='正在导出数据,请稍后!';
Fmain.Cursor:=crSQLWait;
with dm do
begin
i:=0;
ADOQuery2.first;
while not ADOQuery2.eof do
begin
inc(i);
for j:=0 to ADOQuery2.fieldcount-1 do
worksheet.cells[i,j+1]:=ADOQuery2.Fields[j].asstring;
ADOQuery2.next;
end;
end;
Fmain.StatusBar.Panels.Items[1].Text:='导出数据完毕!';
Fmain.Cursor:=crDefault;
end;