Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Создание отчёта в С#


Автор: artstalker 1.2.2010, 20:06
Пишу проект, в котором на данном этапе необходимо реализовать формирование отчётов с последующим выводом на печать.
MS Office не подходит по причине отсутствия такового у некоторых клиентов.
Сейчас думаю насчёт Сrystal Report. Но дело в том, что данные для отчёта берутся не из БД, а из формы. А Сrysstal Report работает с БД насколько я понял.
1. Можно ли применить Сrystal Report к данной задаче?
2. Какие ещё варианты?

Автор: Ceiceron 2.2.2010, 00:02
Было время, я тоже как-то занимался отчетами. И после делфевого варианта Сrystal Report, туда не потянуло. Поэтому использовал офис, а потом тоже потребовалось сделать независимый вариант генерации отчетов. Итогом было использование простого шаблонного движка для генерации HTML кода с подстановкой нужных элементов в шаблоны HTML-файлов заготовок отчетов. После генерации выводил данный код в стандартный компонент WebBrowser, ну и делигировал интерфейсу функции печати от браузера (предпросмотр, ориентация бумаги, выбор принтера). Далее все печаталось без проблем. Минусы: браузер делает в колонтитулах страниц свои пометки при печати, ну и как в кристале нельзя перед печатью исправить что-то в отчете, хотя в отличие от кристала, все с легкостью копируется в ворд/опенофисовыйредактор и правиться.

Автор: artstalker 2.2.2010, 01:26
Цитата(Ceiceron @ 2.2.2010,  00:02)
Было время, я тоже как-то занимался отчетами. И после делфевого варианта Сrystal Report, туда не потянуло. Поэтому использовал офис, а потом тоже потребовалось сделать независимый вариант генерации отчетов. Итогом было использование простого шаблонного движка для генерации HTML кода с подстановкой нужных элементов в шаблоны HTML-файлов заготовок отчетов. После генерации выводил данный код в стандартный компонент WebBrowser, ну и делигировал интерфейсу функции печати от браузера (предпросмотр, ориентация бумаги, выбор принтера). Далее все печаталось без проблем. Минусы: браузер делает в колонтитулах страниц свои пометки при печати, ну и как в кристале нельзя перед печатью исправить что-то в отчете, хотя в отличие от кристала, все с легкостью копируется в ворд/опенофисовыйредактор и правиться.

Спасибо за совет. А что именно в колонтитулах добавляет браузер? 

Автор: artstalker 2.2.2010, 01:54
Посмотрел что за колонтитулы. Хм, а их никак убрать нельзя?

Автор: Ceiceron 2.2.2010, 08:10
artstalker, история умалчивает решение данной проблемы. Гуглите. Просто вариант с браузером одно из быстрых решений, можно попробовать поискать контрольчики для печати (можно попробовать приспособить какой-нибудь richtextbox под эти цели, не обязательно стандартный). Или вы можете генерировать документ например в формате rtf такой документ сожрет простейший wordpad, который есть на любой виндовой машине.

Автор: Zakonnic 2.2.2010, 09:17
http://forum.vingrad.ru/index.php?showtopic=289573&view=findpost&p=2086071.
Постил только вчера ;) Не подходит?

Автор: jsa 2.2.2010, 09:33
artstalker, http://fast-report.com/ru/products/FastReport.Net.html?

Автор: artstalker 4.2.2010, 00:40
Спасибо всем. Посмотрел ответы в http://forum.vingrad.ru/topic-289573/view-findpost/p-2086071.html теме и решил написать вручную генерирование отчётов с помощью PrintDocument. Оказалось не так уж и сложно. Зато гибкость стремится к бесконечности.

Автор: Springtime 4.2.2010, 10:02
тебе поможет - XML Open Office формат
хоть DOC хоть EXCEL хоть PDF
http://www.microsoft.com/downloads/details.aspx?FamilyId=FE118952-3547-420A-A412-00A2662442D9&displaylang=en
http://www.xmlinoffice.com/examples.htm

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)