IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Отчет Excel
сообщение
Сообщение #1


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Задача - разложить данные по предприятия в закладки книги файла эксель. Т.е. одна закладка одно предприятие. + имя закладки это имя предприятия из списка. Шапка одна и так же везде должна быть, количество предприятий может меняться. Для вывода отчет использую шаблон и компоненту EXLReport. В один список все прекрасно выходит, а вот как разбить на страницы с именами предприятий и данные разложить вопрос. Не уверен, что верно написал переход по списку предприятий еще...
Вот пример моего вывода:
Код
procedure TForm5.Button1Click(Sender: TObject);
var
  col: integer;
  st: string;
  year, MonthSelected: string;
  oth: string;
  sum_03, sum_04, sum_05, sum_1_04, sum_2_04, sum_1_05, sum_2_05: string;
  provodka: string;
  data: string;
  direct: string;
  IDSOURCE, PR_MEST: string;
  priznak: string;
  NO_FAM: string;
  cods: string;
  KOD:string;
  koll:integer;

  begin

// собираем данные

  year := Form5.Edit1.Text;
  MonthSelected := FloatToStr(Form5.ComboBox1.ItemIndex + 1);
  priznak := IntToStr(Form5.ComboBox3.ItemIndex + 1);

  oth := 'получе5ние отчетного месяца' + MonthSelected + '';
  Form5.ClientDataSet1.close;
  Form5.ClientDataSet1.DataRequest(oth);
  Form5.ClientDataSet1.open;
  oth := Form5.ClientDataSet1.fieldbyname('id_otchm').asstring;


  IDSOURCE := 'выбор источника загрузки '';
  Form5.ClientDataSet1.close;
  Form5.ClientDataSet1.DataRequest(IDSOURCE);
  Form5.ClientDataSet1.open;
  IDSOURCE := Form5.ClientDataSet1.fieldbyname('ID_SOURCE').asstring;
  PR_MEST := Form5.ClientDataSet1.FieldByName('Pr_MEST').AsString;
  NO_FAM := Form5.ClientDataSet1.FieldByName('NO_ONE_FAM').AsString;

    direct := 'reestor_bez_mesta.xls';

    //получаем список кодов организации
  begin

    cods := 'выборка кодов организации  ' +

    ' order by Kodorg asc ';

    Form5.ClientDataSet1.close;
    Form5.ClientDataSet1.DataRequest(cods);
    Form5.ClientDataSet1.open;
    koll:=Form5.ClientDataSet1.RecordCount;

    Kod := Form5.ClientDataSet1.FieldByName('KODORG').AsString;
  while
   Form5.ClientDataSet1.Eof
    do

        begin
      //по одной организации
    

      st := '  запрос данных о предприятии ';

      Form5.ClientDataSet2.close;
      Form5.ClientDataSet2.DataRequest(st);
      Form5.ClientDataSet2.open;

   {   col := Form5.ClientDataSet2.RecordCount;
      begin
        if col = 0 then
        begin
          ShowMessage('Данные отсуствуют')
        end
        else  }


            Form5.ClientDataSet1.Next;
        begin
           Form5.EXLReport1.TemplSheet:='Лист 3';
          exlReport1.Template := 'H:\808.COM\Andreev\Справочники\Forms\' + direct;
          if Assigned(Form5.EXLReport1) then Form5.EXLReport1.Show; // открытие окошка эксель
        end;
      end;
    end;
  end;
//end;



Сообщение отредактировано: Atreides -


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Atreides   Отчет Excel   27.04.2011 17:04
IUnknown   Сторонние компоненты не использую, идея - такая: p…   28.04.2011 5:49
Atreides   XLApp - это ExcelApplication или какой модуль надо…   28.04.2011 12:57
IUnknown   Нет. Это Uses ..., ComObj; var XLApp : Variant; …   28.04.2011 14:05
Atreides   меня интересует вопрос в каком месте послать запро…   28.04.2011 19:20
IUnknown   Такой запрос не нужен. Его роль на себя берет …   28.04.2011 19:44
Atreides   наверное, лучше исходник прикрепить как целостны п…   28.04.2011 20:01
IUnknown   Ну вот: Поменяешь там путь к XLT-файлу на правил…   28.04.2011 20:51
Atreides   Почему то в конце столбцов образуются символы (#Н/…   29.04.2011 15:49
IUnknown   Значит, размер области вычислил неправильно. Такое…   29.04.2011 16:32
Atreides   Data := VarArrayCreate([1, ClientDataS…   29.04.2011 16:38
IUnknown   Можно. Перенеси ActiveBook.Sheets[1].Delete; // …   29.04.2011 16:59
Atreides   Еще вопрос такой возник – можно добавить вставку д…   2.05.2011 15:30
IUnknown   Если ячейка известна - то разумеется, можно: ToCe…   2.05.2011 17:33
Atreides   Из константы можно путь в переменную вывести?   3.05.2011 17:55
IUnknown   Из константы в переменную - можно, обратно - нельз…   3.05.2011 18:08
Atreides   Из константы в переменную - можно, обратно - нель…   3.05.2011 18:33
IUnknown   Что значит "не прокатывает"? Все прекрас…   3.05.2011 18:51
Atreides   Что значит "не прокатывает"? Все прекра…   3.05.2011 18:59
IUnknown   Ну, а какого ты сверху написал ":=", а з…   3.05.2011 19:03
Atreides   Ну, а какого ты сверху написал ":=", а …   3.05.2011 19:55
TarasBer   Бесят уже. Сами по невнимательности всё партачат, …   3.05.2011 19:32
Atreides   1. После завершения работы, остается висящий проце…   4.05.2011 18:21
IUnknown   Разумеется. Ты ж записываешь данные еще ДО создани…   4.05.2011 19:11
Atreides   Разумеется. Ты ж записываешь данные еще ДО создан…   4.05.2011 19:32
IUnknown   И после этого удивляешься, ??? А как ты хотел, что…   4.05.2011 19:53
Atreides   Никак не могу найти ошибку, на каждой странице не …   6.05.2011 11:24
IUnknown   Я тебе объясню... Вот тут: ты что-то намудрил. Ес…   6.05.2011 14:08
Atreides   Поправка на поля исправила ошибку с не хватающими …   11.05.2011 18:47
IUnknown   Надо сказать об этом: Curr.Range[ToCell5].Formula …   11.05.2011 19:07
Atreides   С формулами разобрался, отлично подсчитал общие ит…   12.05.2011 11:44
IUnknown   Так действительно будет проще. Уже потому, что есл…   12.05.2011 13:15
Atreides   а как же исключать ячейки и определять начало новы…   12.05.2011 18:18
IUnknown   Когда ж ты сам начнешь думать? Вот идея прохода п…   12.05.2011 19:40
Atreides   Благодарю! Выходит даже не обязательно искать …   13.05.2011 13:11
IUnknown   Это то есть как 2 критерия? Пример можно привести?…   13.05.2011 14:38
Atreides   По наименованию и по форме. Родилась идея запросом…   13.05.2011 16:02
IUnknown   Я ж просил пример привести... Еще раз: я понимаю, …   13.05.2011 16:12
Atreides   Под данными надо подвести итоги по суммам и количе…   17.05.2011 15:10
IUnknown   А для комбинирования нескольких условий в Excel ес…   17.05.2011 16:43
Гость   В целом разобрался, но тут посидел голову поломал …   23.05.2011 18:59
Atreides   В целом разобрался, но тут посидел голову поломал…   23.05.2011 19:01
IUnknown   Не знаю, тебе решать. Ты свой запрос видишь, а я -…   23.05.2011 21:46
Atreides   В любом случае огромное спасибо, за помощь!   24.05.2011 11:22
Atreides   А можно ячейки задать типа данных программных путе…   3.06.2011 11:39
Atreides   столкнулся с такой проблемой, когда у меня записей…   1.07.2011 20:56
Lapp   Ну неужели ТАК СЛОЖНО поставить ПРАВИЛЬНЫЙ тег?.. …   2.07.2011 4:37
IUnknown   Попробую догадаться: значение числовое, но очень д…   2.07.2011 6:16
Atreides   А тогда как корректней и чтобы быстрей работало пр…   2.07.2011 17:19


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 17.05.2024 21:20
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name