Создание кросс-таб отчета в Stimulsoft Reports.Net и экспорт его в PDF

Компания Стимулсофт предоставляет для разработчиков мощный набор инструментов для создания отчетов для 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. Добавьте кросс-таб к отчету
5. Загрузите отчет из файла
6. Экспортируйте отчет в PDF

Добавьте отчет к Вашей Web странице

  • Перетащите StiWebReport из toolbox на Вашу Web страницу
  • Щелкните на стрелку в верхнем правом углу StiWebReport1 чтобы вывести задачи StiWebReport
  • Щелкните на Design Report, чтобы открыть дизайнер отчета

Fig.1

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

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

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

  • Щелкните на иконке 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
Fig.1
Fig.1

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

  • Щелкните на иконке 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 и закройте дизайнер отчетов.
Fig.1
Fig.1
Fig.1
Fig.1

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

  • Щелкните на стрелке справа на объекте 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, чтобы просмотреть отчет в браузере.

Fig.1
Fig.1

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

  • Нажмите кнопку Save и выберите экспорт в Abobe Pdf.
  • Пользователи могут экспортировать отчет в большое количество форматов. Смотрите скриншот ниже
  • Не требуется написание кода и не требуется внешних библиотек для экспорта.
Fig.1
Copyright© 2008 Chirag Nirmal
Статья взята с DelphiPlus

Comments are closed.