Страница 1 из 1

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

Добавлено: 14 янв 2013, 11:46
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;
}

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

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

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

xlSetCellDateValue(putlst.npl,i,1,i,1)

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

Добавлено: 14 янв 2013, 12:54
agrail
не выводит значения...выводит последнее значение в моем случае номер путевого листа - 570 - и так 14 раз выводит значение 570! подскажите как быть? нужно заводить массив динамический? примеров мало поэтому и возникают лишние вопросы.

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

Добавлено: 14 янв 2013, 13:03
Den
т.е. Вы попробовали как сказал RAJAH и все равно выводит не то ?

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

Добавлено: 14 янв 2013, 13:06
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;
}

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

Добавлено: 14 янв 2013, 13:22
Den
Вам же написали попробовать вот так
xlSetCellNumberValue(putlst.npl,i,2,i,2);

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

?

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

Добавлено: 14 янв 2013, 14:48
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;

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

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