Не работает экспорт в Excel

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
son
новенький
Сообщения: 39
Зарегистрирован: 22.11.2011 11:50:58

Не работает экспорт в Excel

Сообщение son »

Доброго времени суток. Делаю по мануалам:

Код: Выделить всё

procedure TForm1.Button1Click(Sender: TObject);
var r, c : integer;
  Exl : Variant;
  Sht : Variant;

begin
  Exl:=CreateOleObject('Excel.Application');
  Exl.DisplayAlerts := true;  // Подавить всякие сообщения
  Exl.Application.EnableEvents := true; // Подавить всякие сообщения
  Exl.Visible:=true;
  Exl.Application.WorkBooks.Add;
  Sht:=Exl.WorkBooks[1].WorkSheets[1];
  //Sht:=Exl.WorkBooks[1].;
  for r:=0 to 5 do begin
    for c:=0 to 3 do begin
      //Sht.Range['A'+inttostr(r)]:=inttostr(c)+' '+inttostr(r);
      Sht.Cells[r+1,c+1].Value:=inttostr(c)+' '+inttostr(r);
    end;
  end;
end;


В Excel пусто. Не могу понять в чем дело. Ошибок нет и судя по нету и книжкам должно работать. Вроде ничего лишнего не наковеркал
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

А в какой файл это все пишется?
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

>>и судя по нету и книжкам должно работать.
дак оно и работает
mig-31
постоялец
Сообщения: 224
Зарегистрирован: 14.07.2011 13:46:48

Сообщение mig-31 »

Если не надо именно OLE/COM, есть fpSpreadsheet

http://wiki.freepascal.org/FPSpreadsheet

OLE/COM - медленно и надо иметь установленный Excel.

fpSpreadsheet - чистый FreePascal код.
son
новенький
Сообщения: 39
Зарегистрирован: 22.11.2011 11:50:58

Сообщение son »

Нужно создать файл с данными. Excel создается, но данными не заполняется
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

son, а если не подавлять, по крайней мере пока, сообщения, то что пишет?
son
новенький
Сообщения: 39
Зарегистрирован: 22.11.2011 11:50:58

Сообщение son »

Код выполняется, ошибок при компиляции и выполнении нет. Просто в ячейках данных нет
Аватара пользователя
*Rik*
постоялец
Сообщения: 453
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал
Контактная информация:

Сообщение *Rik* »

son писал(а):Код выполняется, ошибок при компиляции и выполнении нет. Просто в ячейках данных нет

Аесли попробовать вместо Value использовать Text
Sht.Cells[r+1,c+1].Text:=inttostr(c)+' '+inttostr(r);
Работать будет?
Или если Value то попробовать использовать число:
Sht.Cells[r+1,c+1].Value:=1;
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Сообщение sign »

Sht.Cells[r+1,c+1].AsText
Sht.Cells[r+1,c+1].AsNumber
Sht.Cells[r+1,c+1].AsFormula
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

У меня код из первого поста работает. Может просто переустановить офис?
Ответить