Java: примеры работы с протоколом и Exel

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

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

Ответить
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Java: примеры работы с протоколом и Exel

Сообщение zna »

Господа, кто работал с озвученными библиотеками Java, поделитесь, пож., своими примерами. Задача, собственно, простая: создали временную таблицу, заполнили её записями, которые надо отсортировать и вывести в протокол. Или в Exel- файл.
Может, у кого есть соображения, с чего начать..
Vik
Местный житель
Сообщения: 370
Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:

Re: Java: примеры работы с протоколом и Exel

Сообщение Vik »

Когда-то очень давно писал тестовый отчет, но без временных таблиц:

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

mnplan.setPosition(CurPlan());
iscreatereport = true;
if (iscreatereport) 
{
 Template = CreateReport ('D:\\test5.xlt', true);  // создание отчета
} 
else
{
 Template = CreateXLT('D:\\test5.xlt', true);  // создание пустого шаблона
}
//Message(mnplan.nomer)
CreateVar(Template);
SetStringVar('Title', 'Тестовая выгрузка');
SetDateVar('DateRep', Cur_Date());
PublishVar();
CreateTbls(Template);
CreateTbl('MNPLAN');
CreateTblFld('NREC') ;
CreateTblFld('Наименование') ;
CreateTblFld('Номер') ;
CreateTblFld('Дата_создания') ;
CreateTblFld('TestFld');

if (iscreatereport) {
 ClearTblBuffer;
 SetTblNumberFldValue('NREC', CurPlan());
 SetTblStringFldValue('Наименование',mnplan.name);
 SetTblStringFldValue('Номер',mnplan.nomer);
 SetTblDateFldValue('Дата_создания', mnplan.createDate);
 SetTblStringFldValue('TestFld', '!!!TEST!!!');
 InsTblRow();
}
PublishTbl('MNPLAN');

CreateTbl('SPMNPLAN');
CreateTblFld('NRECSP') ;
CreateTblFld('Номер') ;
CreateTblFld('Объект') ;
CreateTblFld('Количество') ;
CreateTblFld('NRECOP');
CreateTblFld('Номер_позиции');
CreateTblFld('Объект_производства');
CreateTblFld('МК');
CreateTblFld('Мощность');
spmnplan.byHeader(CurPlan()) // строки , spmnpl - ячейки
for(spmnplan.getFirst();ResultOfNavigation;spmnplan.getNext())
{
 if (iscreatereport) 
 {
   ClearTblBuffer();
   SetTblNumberFldValue('NRECSP', spmnplan.nrec);
   SetTblStringFldValue('Номер',spmnplan.nomer);
   if (spmnplan.tObj = prMc) 
   {
       katmc.setPosition(spmnplan.cObj)
       SetTblStringFldValue('Объект', katmc.name);
    } 
   else
   {
          if (spmnplan.tObj = prUsl) 
          {
              katusl.setPosition(spmnplan.cObj)
              SetTblStringFldValue('Объект', katusl.name);
          }
    }
 }
 spmnpl.bySpMnPlan(spmnplan.nrec);
 spmnpl.getFirst()

    if (iscreatereport) 
   {
          SetTblNumberFldValue('Количество', spmnpl.Kol);
          InsTblRow();
    }
    RsvReg = new RsvRegObject();
    RsvReg.FindRsvReg5(9, spmnpl.nrec, CurPlan(), toPlan) ;

    for(pb = RsvReg.GetFirst(); pb; pb = RsvReg.GetNext())
     {
     rsvoper.setPosition(RsvReg.cRsvOper)

     if (iscreatereport) 
    {
         ClearTblBuffer();
         SetTblNumberFldValue('NRECOP', rsvoper.nrec)
         SetTblNumberFldValue('Мощность', rsvoper.power)
         SetTblStringFldValue('Номер_позиции', rsvoper.posNomer)
         katmc.setPosition(rsvoper.cObj);
         SetTblStringFldValue('Объект_производства',katmc.name);
         marshsp.setPosition(rsvoper.cOper)
         mnfoper.setPosition(marshsp.cOper)
         SetTblStringFldValue('МК',mnfoper.name);
         InsTblRow();
     }
    }



}
PublishTbl('SPMNPLAN');
LoadReport(Template);
DisConnectExcel();
То есть, сначала создается шаблон, затем при помощи дизайнера он настраивается как надо, и дальше используется этот шаблон для отчета
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Re: Java: примеры работы с протоколом и Exel

Сообщение zna »

Благодарю, буду пробовать.
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Re: Java: примеры работы с протоколом и Exel

Сообщение zna »

Разобрался частично с работой с протоколом. Сообщения сортирует по одному полю, а вот по нескольким полям не получилось настроить сортировку.
Ответить