2013-03-06 2 views
1

Я разрабатываю систему в asp.net (webforms), где пользователи могут входить в систему и просматривать свои отчеты. Я использовал RDL из моих отчетов, но теперь я хочу использовать другую технологию, когда отчеты будут больше динамики, так же, как это:Рекомендация для отчета в asp.net

http://ap.demo.qlikview.com/QvAJAXZfc/opendoc.htm?document=qvdocs/Plant%20Operations.qvw&host=Demo11&anonymous=true

Но мне нужен бесплатный технологий, и это должно работать с моим проектом в осинах .сеть. Что я могу использовать?

+1

Какая часть вам нужна? Контуры? – MikeSmithDev

+0

таблицы и диаграммы –

+0

Проверьте [DotNet.Highcharts] (http://dotnethighcharts.codeplex.com/) – MikeSmithDev

ответ

1

Я играл с системами отчетности, такими как Crystal Reports или SQL Reports, и обнаружил, что они имеют кривую обучения, но также являются жесткими и негибкими или генерируют ужасный HTML.

ASP.NET MVC можно использовать как большую систему отчетности, вот как:

  1. Необязательно использовать VirtualPathProvider, чтобы позволить вам сохранить ваш MVC .aspx файлы в базе данных.
  2. Имейте класс контроллера с действием «GenerateReport», который создает объект EF Context/Repository или даже соединение с необработанной базой данных и передает его как объект в представление, другой модели нет.
  3. Прерывать правила MVC «Отсутствие логики доступа к данным в представлении»! Ваш вид (в файле .aspx) должен иметь область <% %>, которая выполняет всю логику генерации отчетов, выполняя запросы и прочее.
  4. Для графиков и диаграмм, используйте библиотеку генерации диаграмм RESTful, вы также можете написать свой собственный. Это в основном означает, что вместо отчета, создающего статический файл изображения и хранения его где-то и помещения пути в элемент <img src="">, он вместо этого делает это: <img src="RestfulImage.ashx?line1={1.2,4.6,8...." />. Google на самом деле имеет услугу, которую можно использовать: https://developers.google.com/chart/image/docs/making_charts

Таким образом, каждый отчет является .aspx файл, который получает объект доступа к данным тогда запросов непосредственно и генерирует отчеты самостоятельно. Очевидно, что это плохо работает для отчетов, которые занимают много времени для создания (но это обычно является признаком плохого проектирования БД или отсутствия индексов), но если ваши требования просты (то есть куча SQL-запросов SELECT, полученных в <table> и некоторые диаграммы, чтобы идти вместе), то этот подход отлично работает.

+0

и что я могу сделать, чтобы распечатать или экспортировать в pdf/excel? –

+0

Есть веб-службы, которые вы можете использовать для создания PDF-файлов и таблиц Excel из вашего приложения (например, Saaspose) или использовать библиотеку Aspose, хотя это может быть дорогостоящим. – Dai

0

Вы можете использовать SAP CRYSTAL REPORTS для своих отчетов.

0

Сначала выберите механизм отчетности, который вы хотите использовать ... Crystal Reports, DevExpress Reporting, Telerik Reporting, ComponentOne ActiveReports являются основными игроками за пределами Microsoft SSRS. Основываясь на своем решении, на каком инструменте вы хотите «жениться», потому что создание отчетов может быть больно, или это может быть легко, в зависимости от того, какой инструмент вы выбираете для работы.

После этого выберите серверное программное обеспечение, которое будет работать в вашей ситуации. Существует несколько вариантов для серверов Crystal (включая SAP Crystal Server, VersaReports ReportServer и т. Д.), Только для нескольких двигателей.

Смежные вопросы