DataSource.DataSet.First; j:=1; while not DataSource.DataSet.eof do begin j:=j+1; XL.ActiveWorkbook.ActiveSheet.rows[j].select; for i:=0 to Columns.Count-1 do if (Columns[i].Field<>nil) then XL.ActiveWorkbook.ActiveSheet.cells[j,i+1].Value:=Columns[i].Field.AsString; DataSource.DataSet.Next; end;//while end;//with result:=true; EXCEPT result:=false; END;//TRY FINALLY dbgrid.datasource.dataset.EnableControls; END;//TRY end;//DBToExcel