Создание кросс-таб отчета в Stimulsoft Reports.Net и экспорт его в PDF
© 2008 Chirag Nirmal
Компания Стимулсофт предоставляет для разработчиков мощный набор инструментов для создания отчетов для CodeGear Delphi .NET и Microsoft Visual Studio .Net; эти инструменты доступны как для Windows Forms, так и для Web Forms. Это генератор отчетов Stimulsoft Reports.Net. Генератор отчетов Stimulsoft Reports.Net имеет ряд особенностей: простая работа с дизайнером отчетов, полная поддержка экспорта в PDF, Word, Excel и многие другие форматы. Crystal Report и Microsoft Reporting Service – очень хорошие программные продукты для повседневной работы, но, если Вам необходимо создать отчеты с поддержкой кросс-табов, drill down, Ajax, штрих-кодов и возможностью подключения одновременно более одного источника данных, то Stimulsoft Reports.Net поможет Вам сэкономить массу времени. Также, данный генератор отчетов позволяет пользователям создавать свои собственные отчеты любой сложности. И все эти особенности делают Stimulsoft Reports.Net хорошим выбором в сфере программных продуктов для Business Intelligence.
В данной статье я продемонстрирую Вам, как создать простой кросс-таб отчет, вывести его на Web странице и экспортировать его в Word, Excel и PDF без единой строки кода.
Данные для отчета были взяты из AdventureWork sample database, предоставляемых компанией Microsoft.
Демо версию генератора отчетов Stimulsoft Reports.Net можно скачать с официального сайта компании http://www.stimulsoft.com/Downloads.aspx.
Необходимо сделать следующие шаги, чтобы создать кросс-таб отчет и экспортировать его в PDF, Word, Excel и другие форматы.
1. Добавьте отчет к Вашей Web странице
2. Добавьте новый коннекшн к отчету
3. Добавьте базу данных к отчету
4. Добавьте кросс-таб к отчету
Добавьте отчет к Вашей Web странице
· Перетащите StiWebReport из toolbox на Вашу Web страницу
· Щелкните на стрелку в верхнем правом углу StiWebReport1 чтобы вывести задачи StiWebReport
· Щелкните на Design Report, чтобы открыть дизайнер отчета

Добавьте новый коннекшн к отчету
· Найдите кнопку Dictionary. Она находится справа в дизайнере отчетов
· Щелкните на иконке New Item и выберите New Connection
· Выберите SQL Connection и щелкните на OK
· Напишите connection string для базы данных AdventureWorks
· Щелкните Test, чтобы проверить правильность написания connection string.


Добавьте базу данных к отчету
· Щелкните на иконке New Item на панели Dictionary и выберите New Data Source
· Выберите данные из SQL Connection и щелкните Ok
· Напишите имя запроса Sales в поле Name
· Напишите SQL запрос в Query Text Field
· Щелкните на Retrieve Columns для автоматического получения списка колонок
· Щелкните Ok, и источник данных Sales Datasource теперь на панели Dictionary
· В отчете был использован следующий запрос
SELECT [SalesOrderID]
,[RevisionNumber]
,[OrderDate]
,[DueDate]
,[ShipDate]
,[Status]
,[OnlineOrderFlag]
,[SalesOrderNumber]
,[PurchaseOrderNumber]
,[AccountNumber]
,[CustomerID]
,[ContactID]
,[SalesPersonID]
,st.Name
,[BillToAddressID]
,[ShipToAddressID]
,[ShipMethodID]
,[CreditCardID]
,[CreditCardApprovalCode]
,[CurrencyRateID]
,[SubTotal]
,[TaxAmt]
,[Freight]
,[TotalDue]
,[Comment]
FROM [AdventureWorks].[Sales].[SalesOrderHeader] soh
Inner join [AdventureWorks].[Sales].[SalesTerritory] st on soh.TerritoryID = st.TerritoryID


Добавьте кросс-таб к отчету
· Щелкните на иконке Cross Bands на правом toolbar-е и выберите Cross-Tab
· Перетащите кросс-таб на отчет
· Появится окно редактирования кросс-таба
· Выберите Sales из выпадающего списка источника данных
· Добавьте OrderDate в список Columns и измените display value свойство и value свойство на {Format("{0:yyyy}", Sales.OrderDate)} чтобы вывести на экран только order year.
· Добавьте Name к списку Rows и TotalDue в Summary Field
· Щелкните OK, чтобы сохранить изменения.
· Щелкните F5, чтобы просмотреть отчет.
· Теперь данный отчет показывает общие продажи по территории и по году, и также выводит итог по строкам и колонкам.
· Сохраните отчет под именем Sales.mrt и закройте дизайнер отчетов.




Загрузите отчет из файла
Щелкните на стрелке справа на объекте StiWebReport1 на aspx странице и выберите Open report from file
Укажите путь где Вы сохранили Sales.mrt файл.
Просмотрите отчет в report viewer
Перетащите объект StiWebViewer на страницу, где объект StiWebReport1 уже есть.
Добавьте следующий код к событию page load страницы.
protected void Page_Load(object sender, EventArgs e)
{
if (StiWebViewer1.IsImageRequest) return;
if (!Page.IsPostBack)
{
Stimulsoft.Report.StiReport oRep = StiWebReport1.GetReport();
StiWebViewer1.Report = oRep;
}
}
Первая строка необходима для получения изображений на кнопках самим StiWebViewer1.
Вторая требуется чтобы загрузка отчета произошла только один раз, когда происходит загрузка страницы.
Остальные 2 строки передают объект отчета с одновременным его построением из объекта StiWebReport1 в объект StiWebViewer.
Нажмите F5, чтобы просмотреть отчет в браузере.


Экспортируйте отчет в PDF
· Нажмите кнопку Save и выберите экспорт в Abobe Pdf.
· Пользователи могут экспортировать отчет в большое количество форматов. Смотрите скриншот ниже
· Не требуется написание кода и не требуется внешних библиотек для экспорта.

Copyright© 2008 Chirag Nirmal