Создание кросс-таб отчета в 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 странице. 1

2.       Добавьте новый коннекшн к отчету. 1

3.       Добавьте базу данных к отчету. 2

4.       Добавьте кросс-таб к отчету. 2

5.       Загрузите отчет из файла. 4

6.       Экспортируйте отчет в PDF. 5

Добавьте отчет к Вашей 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

2011123456789101112
2010123456789101112
2009123456789101112
2008123456789101112
2007123456789101112
2006123456789101112
2005123456789101112
2004123456789101112
2003123456789101112
2002123456789101112
2001123456789101112
2000123456789101112
1999123456789101112

Последние статьи
Литература