procedure TForm2.SpeedButton5Click(Sender: TObject); var MsExcel:Variant; i,m,n:integer; Exc:string; begin //SaveDialog1.Filter:='*.xls if Savedialog1.Execute then begin MsExcel:=createoleobject('Excel.application'); msexcel.visible:=false; Msexcel.workbooks.add; //end; Adoquery1.Active:=false; Adoquery1.SQL.Clear; Adoquery1.SQL.Add('select * from baseinfo'); Adoquery1.Active:=true; 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[i].AsString; Msexcel.cells[m,i+1].value:=Exc;//Adoquery1.FieldByName[i].AsString; end; Adoquery1.next;//quotedstr(Adoquery1.FieldValues[1]); Inc(m); end;
var
MsExcel:Variant;
i,m,n:integer;
Exc:string;
begin
//SaveDialog1.Filter:='*.xls
if Savedialog1.Execute then
begin
MsExcel:=createoleobject('Excel.application');
msexcel.visible:=false;
Msexcel.workbooks.add;
//end;
Adoquery1.Active:=false;
Adoquery1.SQL.Clear;
Adoquery1.SQL.Add('select * from baseinfo');
Adoquery1.Active:=true;
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[i].AsString;
Msexcel.cells[m,i+1].value:=Exc;//Adoquery1.FieldByName[i].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)
end;
end;
//楼主用五笔输入法的,鉴定完毕
好眼力能根据我打错了一个字,看出我用的是五笔,这是我们程~~员应有逻辑思维.
佩服得五体投地~~~~~~中国软件做世界龙头老大的日子不远了~~microsoft是什么东西
编译错误
这一句中的 MsExcel:=createoleobject('Excel.application');
createoleobject是自定义的函数吗?