DELPHI数据集组件导出为EXCEL的DEMO

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不去持序列.

你可能感兴趣的:(DELPHI数据集组件导出为EXCEL的DEMO)