Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.04;
Скачать: CL | DM;

Вниз

Запись значения в ячейку Excel   Найти похожие ветки 

 
Serval   (2003-08-20 07:49) [0]

День добрый. Есть непонятная мне проблема. Кладу на форму TExcelApplication, открываю Excel и пытаюсь изменить данные.

xls: TExcelApplication;
aa,bb:OleVariant;
<...>
aa:=xls.range["A1","A1"].formula; // aa=31,5
bb:=aa*0,2; // bb=6,3
xls.range["A1","A1"].formula:=bb;

В таком виде при попытке записать данные в Excel выдается ошибка "Invalid variant type conversion". А если сделать так:

xls.range["A1","A1"].formula:=6,3;

то всё работает и данные в ячейке сохраняются как число. У меня целый столбец значений, который надо перелопатить, а из переменной данные не записываются в ячейку. Посоветуйте, что мне сделать...
Заранее thanx.


 
3APA3A ©   (2003-08-20 09:46) [1]

Я бы сделал так

aa:=xls.Range[zls.Cells[1,1],xls.Cells[1,1]].Value;

и наоборот, соответственно
xls.Range[zls.Cells[1,1],xls.Cells[1,1]].Value:=bb;


 
Олег ©   (2003-08-20 10:32) [2]

... обычно не кладу на форму TExcelApplication... поступаю проще:
procedure ...;
var
Excel: Variant;
i,j : integer;
begin
Excel := CreateOleObject("Excel.Application");
Excel.Visible:=True;
Excel.WorkBooks.Add;
// Так, к примеру, переношу заглавия столбцов
for i := 0 to DBGridEh1.Columns.Count-1 do
Excel.ActiveSheet.Cells[i,3].FormulaR1C1 :=
DBGridEh1.Columns[i].Title.Caption;

end;
С подобным успехом переносятся данные из Грида Таблици или Qyery... Организовывается цикл по количеству записей и количеству полей и вперед:
...
Excel.ActiveSheet.Cells[i,j].FormulaR1C1 :=
Query1.Fields[i].AsString;
...

Удачи!


 
Олег ©   (2003-08-20 10:37) [3]

... ну само собой ... к модулям добавляешь ComObj

uses
Windows... ComObj;

Удачи!



Страницы: 1 вся ветка

Текущий архив: 2003.09.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
3-10596
WellSlava
2003-08-05 13:42
2003.09.04
Ado и


1-10815
Borealis
2003-08-18 20:21
2003.09.04
Что с иконками?, я не понимаю...


3-10625
Woolen
2003-08-13 11:54
2003.09.04
Запуск хранимой процедуры Oracle из dbExpress


1-10723
BuTyc
2003-08-25 10:17
2003.09.04
Результат работы некоторых диалогбоксов записать в ini файл.


3-10548
АлеКс
2003-08-11 03:28
2003.09.04
Преобразование XML