procedure TFrmPrintQuery.Btn_ExcelClick(Sender: TObject);
var
MsExcel:Variant;
i,m,n:integer;
Exc:string;
begin
if Savedialog1.Execute then
begin
MsExcel:=createoleobject('Excel.application');
msexcel.visible:=false;
Msexcel.workbooks.add;
//end;
for n:=0 to Adoquery1.FieldCount-1 do
Msexcel.cells[1,n+1].value:=Adoquery1.Fields[n].DisplayLabel;
Adoquery1.First;
m:=2;
//showmessage(Adoquery1.fieldvalues[1]);
while not Adoquery1.Eof do
begin
for i:=0 to Adoquery1.FieldCount-1 do
begin
Exc:=Adoquery1.Fields.AsString;
Msexcel.cells[m,i+1].value:=Exc;//Adoquery1.FieldByName.AsString;
end;
Adoquery1.next;//quotedstr(Adoquery1.FieldValues[1]);
Inc(m);
end;
Msexcel.activeworkbook.saveas(savedialog1.FileName);
//Msexcel.activebook.saved:=true;
Msexcel.quit;
Application.MessageBox('导出完毕!','提示',Mb_ok or Mb_Iconinformation);
end;
end;