procedure TForm1.Button1Click(Sender: TObject);
begin
self.RsToExcel(adoquery1,'ss');
end;
procedure Tform1.RsToExcel(AdoQuery1: TAdoQuery; ExcelFileName: string);
var ExcelApp, Book, Sheet, Range, xlQuery: OleVariant;
begin
if not ADOQuery1.Active then
ADOQuery1.Open;
ExcelApp:=CreateOleObject('Excel.Application');
//创建 try
if ExcelApp.Workbooks.count < 1 then
ExcelApp.WorkBooks.Add;
Book := ExcelApp.Workbooks[1];
if Book.Worksheets.Count < 1 then
Book.Worksheets.Add;
Sheet := Book.Worksheets[1];
xlQuery := Sheet.QueryTables.Add(ADOQuery1.Recordset, Sheet.Range['A3']); //xlQuery.FieldNames := false;
xlQuery.Refresh;
Sheet.SaveAs(ExcelFileName);
finally
Sheet := Unassigned;
Book := Unassigned;
if not VarIsEmpty(ExcelApp) then
ExcelApp.Quit;
ExcelApp := Unassigned;
if ADOQuery1.Active then ADOQuery1.Close;
end;
end;
end.
----------------------------------只适合于ADO,BDE不去持序列.