Показать сообщение отдельно
  #6  
Старый 25.09.2009, 11:10
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Сначала показалось, что у вас только пара ошибок, но при детальном изучении вашего кода понял, что его надо переписать полностью
Вот так должно работать:
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  XL: Variant;
  i: Integer;
begin
 XL := CreateOLEObject('Excel.Application');
 XL.WorkBooks.Add;
 XL.Visible := False;

 ADOTable1.First;
 while not ADOTable1.Eof
 do begin
    for i := 1 to ADOTable1.FieldCount
    do begin
       XL.Selection.Font.Name := 'Arial';
       XL.Selection.Font.Size := 10;
       XL.Selection.Columns.AutoFit;
       XL.Range[Chr(64+i)+IntToStr(ADOTable1.RecNo)] := ADOTable1.Fields[i-1].AsString;
       end;
    if RadioButton1.Checked then Break;
    ADOTable1.Next;
    end;
 XL.Visible := True;
end;

Экспорт через OLE довольно тормознутая вещь. Даже при относительно небольших объемах передаваемых данных у пользователя может возникнуть ощущение, что прога зависла. Поэтому не всегда полезно скрывать Эксел при экспорте.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием