5,388
社区成员
发帖
与我相关
我的任务
分享
unit UnitInOut;
interface
uses ComObj,data.win.adodb;
Procedure OutputExcel(fromQuery: TADOQuery; filename: string);
implementation
{$R *.dfm}
uses Vcl.Dialogs, System.SysUtils, System.Variants,
data.db;
Procedure OutputExcel(fromQuery: TADOQuery; filename: string);
var
Eclapp: variant;
i, j: integer;
begin
try
Eclapp := CreateOleObject('Excel.Application');
except
// screen.cursor:=crDefault;
showmessage('计算机没有安装EXCEL程序,无法调用Excel!');
exit;
end;
Eclapp.Visible := False;
if FileExists(filename) then
DeleteFile(filename);
fromQuery.DisableControls;
fromQuery.First;
i := 2;
while not fromQuery.Eof do
begin
for j := 0 to fromQuery.FieldCount - 1 do
Eclapp.cells[i, j] := fromQuery.Fields[j].AsString;
// eclapp.cells[i,2] := fromQuery.Fields[1].AsString;
// eclapp.cells[i,3] := fromQuery.Fields[2].AsString;
// eclapp.cells[i,4] := fromQuery.Fields[3].AsString;
inc(i);
fromQuery.Next;
// application.ProcessMessages;
end;
fromQuery.EnableControls;
Eclapp.Visible := False;
Eclapp.activeworkbook.SaveAs(filename);
Eclapp.Quit;
Eclapp := Unassigned;
end;
end.