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