Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Использование шаблона в Excel / 4 сообщений из 4, страница 1 из 1
12.04.2006, 11:50:59
    #33660637
k-nike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование шаблона в Excel
Есть необходимость создавать в экселе различные отчеты, основанные на выборке из БД с помощью VBA и ADO. При этом хочется не привязываться программно к оформлению этого отчета, чтобы его легко можно было изменять. Я так понимаю для этого нужно использовать шаблоны. Проблем с выборкой данных пока нет.
Возникло несколько вопросов:
1. Что должно быть в самом файле шаблона? Я так понимаю, что шапка, колонтитулы, итоги, нужное форматирование и т.п.
2. Как связывать данные с шаблоном? Т.е. есть несколько строк, которые надо как то вывести, наверное, в середину этого шаблона (между шапкой и итогами). Или это по другому делатеся? А если нужны промежуточные постраничные итоги как быть?
3. Как программно подцепить этот шаблон и куда его положить?
4. Может еще чего не предвидел?

...
Рейтинг: 0 / 0
12.04.2006, 18:17:42
    #33662363
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование шаблона в Excel
1) Шапки, колонтитулы, макросы.
2) Самое простое и универсальное - в темплейте сделай дополнительную пару-тройку листов без форматирования, вытягиваешь данные в них, потом запускаешь макрос который красивенько раскидает данные из этих сырых листов по отчетному листу. Потом спрячет или вообще убьет листы с сырыми данными.
3) Лучше всего хранить шаблоны в самой БД. Делаешь табличку типа ReportTemplates, в ней, в блоб-поле лежит xlt. Клиентская программа по запросу вытягивает из базы шаблон, запускает Эксель, загружает в него этот шаблон, потом запускает в нем макрос типа GenerateReport.
4) Сложно сказать. Начнещь делать реальную систему - приходи с более конкретными вопросами :)
...
Рейтинг: 0 / 0
13.04.2006, 10:37:57
    #33663460
k-nike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование шаблона в Excel
Спасибо.
Тока у меня все попроще будет. БД не моя, поэтому я там ничего менять не могу.
Идея такая. Я открываю эклевский файл. Ввожу туда некие значения, по которым потом буду строить запросы, вытягивать значения из БД и вставлять их в шаблон (прайс, счет и т.п.). Возможно мне даже временные листы с сырыми данными не понадобятся - попробую одними рекордсетами обойтись. А в книжке по которой я изучаю VBA ни слова про шаблоны.
Хочется иметь возможность работать с БД в обход уже написанной СУБД в плане создания новых отчетов, дабы не платить разработчику каждый раз за какой-то вдруг понадобившийся отчет. Можно было бы конечно полностью свою БД забубонить, но опыта пока маловато, да и доверия со стороны начальства в плане программирования никакого, и вообще проблем небось потом туева хуча появится...

...
Рейтинг: 0 / 0
13.04.2006, 18:04:29
    #33665425
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование шаблона в Excel
k-nikeБД не моя, поэтому я там ничего менять не могу.Это не проблема. Лично я предпочитаю хранить шаблоны в самой БД потому что тогда мне надо будет беспокоится только об одном коннекте, то есть клиент-БД. У меня сейчас и данные и шаблоны, все в одном месте лежит, все по единому коннекту на клиента вытягивается :)
Но можно хранить и кучку шаблонов в сетевом каталоге. Пользователь заходит например в какой-нибудь T:\Reports\WeeklyFinance там лежит десяток *.xlt. Тыкает в нужный xlt, а в нем срабатывает Workbook_Open и запрашивает уже за какой период делать отчет, формирует или подправляет QueryTables и делает красивенькую раскидку цифр по итоговому листу.
Тебе как администратору системы прийдется еще следить за всем деревом T:\Reports, но это не особо много работы :)


k-nikeВозможно мне даже временные листы с сырыми данными не понадобятся - попробую одними рекордсетами обойтись.Да конечно. Временные листы имеют смысл только если сырые данные очень уж сильно отличаются от итогового представления. Например если нужно сделать сводную PivotTable на основе двух и более разных рекордсетов, которые нельзя почему-либо объединить в самой БД. Вот тут дополнительные листы для сырых данных самое милое дело :)
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Использование шаблона в Excel / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]