powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Система автоматизирования генерации отчетов.
12 сообщений из 12, страница 1 из 1
Система автоматизирования генерации отчетов.
    #32131884
Фотография Yola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне необходимо писать отчеты для одной проги, ну ясное дело я не собираюсь их всех кодировать вручную. Есть желание написать некий генератор отчетов. На входе шаблон (*.xls) со встроенными в нужные сместа запросами SQL. Прога проходит весь документ и в места со всторенным SQL'ем вставляет результат запроса. Если возвращаемый набр записей содержит n полей, то в отчете занимется n столбцов, а строчек столько сколько записей, последующие строчки вставляются со сдвигом остальной части шаблона вниз.
Это еще сырая идея. Если есть желающие доработать эту или поделиться своей, то давайте погутарим.
...
Рейтинг: 0 / 0
Система автоматизирования генерации отчетов.
    #32131939
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Берешь FastReport и делаешь то же самое, только без самолично придуманного геморроя
...
Рейтинг: 0 / 0
Система автоматизирования генерации отчетов.
    #32131955
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот несколько дней назад на скорую руку сделал почти то же самое. У меня так - вся структура каждого отчёта хранится в нескольких таблицах БД, все запросы, которые возвращают данные для этого отчёта - в ещё одной таблице (запросы лежат как CLOBы). Логика такая - каждая ячейка может либо содержать статические данные, либо формулу, либо результаты каких-то расчётов. Снаружи передаются и биндятся параметры запросов.
Первым проходом результаты всех запросов сбрасываются во временную таблицу, а вторым проходом для каждой ячейки с динамическими значениями выбираются данные из временной таблицы. Соответственно, каждый запрос должен вернуть некое ключевое поле, по которому можно связать запись во временной таблице с некой ячейкой отчёта.

Вот примерно так. Java (для работы с xls пользовался Jakarta POI). Web-интерфейс (Resin). СУБД - Oracle 8i.
Работает нормально, только очень утомляет забивать структуру отчётов, а бэк-энд писать лениво.

Есть ещё более грамотный вариант генерации сначала XML, а потом его преобразовывания в xls, html, pdf, ну и т.д. См., например, Jasper Reports, но мне с ним было откровенно лень разбираться.
...
Рейтинг: 0 / 0
Система автоматизирования генерации отчетов.
    #32131990
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я все же не понимаю - зачем велосипеды то изобретать?
Ну есть ХОРОШИЕ средства для вывода отчетов - ну все-равно лучше же не напишите....!!!!
...
Рейтинг: 0 / 0
Система автоматизирования генерации отчетов.
    #32132084
Фотография Yola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Scott Tiger
Я считаю, что шаблон должен находиться в в документе xls или xlt, а не в базе данных. Желательно, чтобы его мог править человек не очень хорошо знающий Excel и не знающий SQL.

2tygra
Хм... Я использую ASP. А в 2х словах, какие у него возможности? Мне ведь важна идея. А то моя идея очень угловатая. Хочется действительно пообсуждать и развить её.
...
Рейтинг: 0 / 0
Система автоматизирования генерации отчетов.
    #32132091
Фотография Yola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, выводить мне нужно в Excel.
...
Рейтинг: 0 / 0
Система автоматизирования генерации отчетов.
    #32132106
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я использую ASP. А в 2х словах, какие у него возможности? Мне ведь важна идея. А то моя идея очень угловатая. Хочется действительно пообсуждать и развить её.

Возможности у кого? Если FastReport - то он работает с Delphi.
А отчет к asp? И как? Что на asp вообще делаешь то, клиент или что?
И для чего отчет? Есть автономные отчеты - сами по себе.
...
Рейтинг: 0 / 0
Система автоматизирования генерации отчетов.
    #32132113
Фотография Yola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На АСПе генерю скрипт клиента, жскрипт, который в свою очередь сроздаёт Эксель и выводит в него. Приложение работает в инренете, есть возможность открыть шаблон с сервера. Отчеты разные, от очень простых до очень сложных.
...
Рейтинг: 0 / 0
Система автоматизирования генерации отчетов.
    #32132114
Фотография Yola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интранете
...
Рейтинг: 0 / 0
Система автоматизирования генерации отчетов.
    #32132126
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут можно попробовать ReportBuilder - правда он платный. Зато вроде бы он есть в виде сервера отчетов и доступа к нему через интранет для получения отчета

Но точно не помню
...
Рейтинг: 0 / 0
Система автоматизирования генерации отчетов.
    #32132150
Фотография Yola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с платным при моём начальстве ничего не выйдет:(
...
Рейтинг: 0 / 0
Система автоматизирования генерации отчетов.
    #32132217
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну напиши сам. Есть такой нюанс, что использовать чьё-то чужое сложное и мощное API надо научиться. Для серьёзных задач, имеющих продолжение - это обязательное требование, а для себя и поизобретать можно.
У меня на всё ушло 3 дня вместе с тестированием и отладкой.

С шаблоном - думал, пробовал, но возникла проблема (баги) с чтением сохранённых экселем документов из POI, поэтому пришлось рисовать всё самому.

PS Плюс мультиплатформенность, кстати.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Система автоматизирования генерации отчетов.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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