Главная страница
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.029 c
14-10945
SergP
2003-08-16 09:17
2003.09.04
Proxomitron. Загружаются ли gif ы полностью?


3-10610
Mike2 Kouzmine2
2003-08-13 14:34
2003.09.04
Ошибка при перекачке данных


14-10885
Calm
2003-08-13 10:31
2003.09.04
Округление чисел. Неужели ТАК правильно???


7-10992
maxfiles
2003-06-20 05:24
2003.09.04
Как комп отправить в Sleep mode?


4-11020
AHTOHA
2003-07-04 06:35
2003.09.04
Вывести текст из DOSовского окна в Мемо?