导出到excel:
var
i,row:integer;
begin
if SaveDialog1.Execute then
begin
Screen.Cursor:=crHourGlass;
ExcelApplication1.Connect;
ExcelApplication1.Workbooks.Add(Null,0);
ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorkSheet1.ConnectTo(ExcelWorkBook1.Sheets[1] as _WorkSheet);
if not Query.Active then
begin
Query.SQL:=SQL.Lines;
Query.Open;
end;
pgbar.Visible:=true;
pgbar.Max:=query.RecordCount*query.fields.count;
pgbar.Position:=0;
for i:=0 to Query.Fields.Count-1 do
ExcelWOrkSheet1.Cells.Item[1,i+1]:=Query.Fields.FieldName;
row:=2;
while not Query.Eof do
begin
for i:=0 to Query.Fields.Count-1 do
begin
ExcelWOrkSheet1.Cells.Item[row,i+1]:=Query.Fields.AsString;
pgbar.StepIt;
end;
row:=row+1;
Query.Next;
end;
ExcelWorkBook1.SaveCopyAs(SaveDialog1.FileName);
ExcelWOrkBook1.Close(false);
pgbar.Visible:=false;
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
Screen.Cursor:=crDefault;
Application.MessageBox('Export successfully!','Information',0);
end;
end;