Экспорт в Excel из цикла!

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
agrail
Посетитель
Сообщения: 39
Зарегистрирован: 06 ноя 2012, 10:04

Экспорт в Excel из цикла!

Сообщение agrail »

Добрый день. сложилась такая проблема - необходимо вывести значения из цикла в Excel. пример:
cmOK:
{ var xl:longint;
startNewVisual(0, vfTimer+vfBreak, 'Печать журнала погоды...', 0);
xl := xlCreateExcelwithtemplate('c:\work81\pogoda\pogoda.xlt',true);
xlSETACTIVESHEETbyname('Лист1');
_loop putlst where ((DBegin>>=putlst.DATPL(noIndex) and DEnd<<=putlst.DATPL(noIndex) and podr_tbl.crec==putlst.cpol(noIndex)))
{ message(putlst.npl); //Мессаджем выводит 14 значений
xlSetCellDateValue(putlst.npl,6,1,20,1); //ПЛ----как вывести эти 14 значений номеров путевых листов из цикла в одну колонку!???
}
stopVisual('', 0);
xlKillExcel;
}
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Экспорт в Excel из цикла!

Сообщение RAJAH »

agrail писал(а):xlSetCellDateValue(putlst.npl,6,1,20,1); //ПЛ----как вывести эти 14 значений номеров путевых листов из цикла в одну колонку!???
Вместо жёсткого указания адреса ячейки можно завести переменную. Например:

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

xlSetCellDateValue(putlst.npl,i,1,i,1)
agrail
Посетитель
Сообщения: 39
Зарегистрирован: 06 ноя 2012, 10:04

Re: Экспорт в Excel из цикла!

Сообщение agrail »

не выводит значения...выводит последнее значение в моем случае номер путевого листа - 570 - и так 14 раз выводит значение 570! подскажите как быть? нужно заводить массив динамический? примеров мало поэтому и возникают лишние вопросы.
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Экспорт в Excel из цикла!

Сообщение Den »

т.е. Вы попробовали как сказал RAJAH и все равно выводит не то ?
agrail
Посетитель
Сообщения: 39
Зарегистрирован: 06 ноя 2012, 10:04

Re: Экспорт в Excel из цикла!

Сообщение agrail »

да я попробовал как сказал RAJAH и все равно выводит не то. вот кусочек кода:
i:=6;
_loop putlst where ((DBegin>>=putlst.DATPL(noIndex) and DEnd<<=putlst.DATPL(noIndex) and podr_tbl.crec==putlst.cpol(noIndex)))
{ xlSetCellDateValue(putlst.datpl,6,1,i,1); //дата выдачи ПЛ
xlSetCellNumberValue(putlst.npl,6,2,i,2); //номер ПЛ
if getfirst spsklad where ((podr_tbl.crec==spsklad.cpodr(noIndex)))=tsok { xlSetCellstringValue(spsklad.temper,6,4,i,4);}//Температура
i:=i+1;
}
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Экспорт в Excel из цикла!

Сообщение Den »

Вам же написали попробовать вот так
xlSetCellNumberValue(putlst.npl,i,2,i,2);

а Вы почему настаиваете на варианте
xlSetCellNumberValue(putlst.npl,6,2,i,2);

?
agrail
Посетитель
Сообщения: 39
Зарегистрирован: 06 ноя 2012, 10:04

Re: Экспорт в Excel из цикла!

Сообщение agrail »

действительно все получилось! Спасибо! последний вопрос из этой же формы: необходим множ выбор подразделений. ----как в этом же цикле в таблице putlst
_loop putlst where ((DBegin>>=putlst.DATPL(noIndex) and DEnd<<=putlst.DATPL(noIndex) and podr_tbl.crec==putlst.cpol(noIndex))) отбирать podr_tbl.crec==putlst.cpol(noIndex) ----podr_tbl.crec - записываются данные во врем таблицу podr_tbl данными: insert podr_tbl set podr_tbl.crec := katpodr.NREC; podr_tbl.name:=katpodr.name;
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Экспорт в Excel из цикла!

Сообщение RAJAH »

agrail писал(а):необходим множ выбор подразделений
agrail писал(а):в этом же цикле
Не в цикле надо. Надо представление немного переписать с включением таблицы пометок pick (код пометки pick.wlist, скорее всего, будет равным 11), а сам интерфейс множественного выбора - Z_KATPODR::GETSOMSP или Z_KATPODR::GETANYPODR - запускать в коде своего интерфейса по RunInterface.
Ответить