procedure TForm1.Button1Click(Sender: TObject);
var
  I, J,iRow: Integer;
begin
  with ExcelApplication1 do
  begin
    Disconnect;
    Visible[0] := True;
    SheetsInNewWorkbook[0] := 1;    
    WorkBooks.Add(EmptyParam, 0);     
    ExcelWorkBook1.ConnectTo(Workbooks[Workbooks.Count] as _Workbook);
  end;
  with ExcelWorkSheet1 do
  begin
    ConnectTo(ExcelWorkBook1.Sheets[1] as _Worksheet);
    Name := '报表';
  end;
  J := 1; //计数器,记下现在的行数
        //将数据表内容填充到Excel
       iRow := 1;
  with adoTable1 do  //将数据表内容填充到Excel
  begin
    First;
    while not Eof do
    begin
      for I := 1 to Fields.Count do
      begin
        ExcelWorkSheet1.Cells.Item[J, I] := adotable1.Fields[I - 1].Value;
      end;
    Next;
    Inc(J);
    end;
  end;