Stimulsoft Reports.Net – универсальный конвертер данных

Stimulsoft предоставляет встроенные компоненты, которые позволяют разработчику программно экспортировать свои отчеты во множество форматов документов. Исходя из моего опыта, пользователь обычно просит добавить кнопку экспорта на Web страницу или форму. Экспорт при помощи кода также обычно нужен в пакетных процессах работы с отчетами. Особенно когда отчеты должны формироваться по расписанию и отправлены по e-mail или сохранены на локальных дисках или загружены на sharepoint / ftp сервер. Ниже приведен список форматов, которые поддерживает Stimulsoft Reports.Net. При этом нет необходимости использовать COM компоненты или продукты других компаний.
В этой статье описано, как создать простой отчет с таблицей, вывести его на Web странице и вывести кнопку экспорта в PDF на Web странице, которая позволит пользователю открыть отчет в формате PDF. Для того, чтобы это сделать мне необходимо воспользоваться встроенными в генератор отчетов функциями экспорта.

Необходимо проделать следующие шаги, чтобы создать отчет и экспортировать его в PDF, Word, Excel и другие форматы.

Поддерживаемые форматы экспортов

  • PDF (Adobe Portable Document Format);
  • Microsoft XPS (XML Paper Specification);
  • HTML (HyperText Markup Language);
  • MHT;
  • Text;
  • Rich Text;
  • Microsoft Word 2007;
  • OpenDocument Writer;
  • Microsoft Excel;
  • Microsoft Excel XML;
  • OpenDocument Calc;
  • CSV (Comma-separated values);
  • dBase DBF (DataBase File);
  • XML (Extensible Markup Language);
  • BMP (Bitmap);
  • GIF (Graphics Interchange Format);
  • JPEG (Joint Photographic Experts Group);
  • PCX (Pacific Exchange);
  • PNG (Portable Network Graphics);
  • TIFF (Tagged Image File Format);
  • Windows Metafile

Настройки экспортов
Stimulsoft Reports.Net имеет встроенную поддержку экспорта файла на диск, используя функцию ExportDocument для экземпляра объекта StiReport. Структура отчета также имеет класс StiReportResponse для экспорта, чтобы пользователи могли загружать файлы построенных отчетов в Web приложении. Ниже приведены некоторые свойства для экспорта отчетов.

1) Флажок openDialog:
Если флажок установлен в true, это приведет к тому, что пользователь будет вынужден загружать файл перед открытием. Если флажок установлен в false, то это позволит браузеру открыть приложение, необходимое для вывода отчета. Например, если формат экспорта PDF и флажок установлен в false, то откроется Abobe Reader® в браузере, если он установлен на компьютере клиента. Если флажок установлен в true, то отчет загрузится как файл, даже если Abobe Reader® установлен на компьютере клиента.

пример

StiReport oSR = stiBooksReport.GetReport(); //set the StiReport report object
StiReportResponse.ResponseAsPdf(this, oSR, false); // Export report to pdf and force user to download the file
StiReportResponse.ResponseAsPdf(this, oSR); // Export report to pdf and open Adobe Reader if available

На рисунке ниже показано, что произойдет, если флажок openDialog установлен в false. В данном случае PDF документ откроется в Acrobat Reader.

На рисунке ниже показано, что произойдет, если флажок openDialog установлен в true. В этом случае отчет можно Открыть, Сохранить или Отменить операцию.

2) StiPagesRanges
Если пользователь хочет определить, какие страницы нужно экспортировать, имеется возможность передачи объекта класса StiPagesRange, как параметра в функцию экспорта. С классом stiPagesRange пользователь может экспортировать только одну страницу или несколько страниц в зависимости от условия.

Пример:
Export page 1

StiReport oSR = stiBooksReport.GetReport(); //set the StiReport report object
StiPagesRange oSPR = new StiPagesRange(1); // Export page 1
StiReportResponse.ResponseAsPdf(this, oSR, false, oSPR); // Export report to pdf and open the file in browser

Export pages 1 to 10
StiReport oSR = stiBooksReport.GetReport(); //set the StiReport report object
StiPagesRange oSPR = new StiPagesRange("1-10"); // Export pages 1 to 10
StiReportResponse.ResponseAsPdf(this, oSR, false, oSPR); // Export report to pdf and open the file in browser

3) StiPdfExportSettings
Этот параметр позволяет устанавливать дополнительные свойства экспорта:
a) Compression flag – Включить/Выключить компрессию PDF файла
b) Creator string – Установить имя приложения
c) Image Quality – Установить качество изображения
d) Image Resolution – Установить разрешение изображения
e) Allow embedded fonts – Разрешить внедрение шрифтов в PDF
f) Keywords – Ключевые слова
g) Password – PDF пароль
h) Digital Certificates – Включить/Выключить цифровую подписи и сертификаты
i) Page Range – Диапазон страниц для экспорта

4) StiExcelExportSettings

Этот параметр можно использовать при экспорте в Excel. Можно устанавливать следующие дополнительные свойства.
a) ExportDataOnly – Экспортировать только данные без форматирования и изображений
b) ExportEachPageToSheet – Экспортировать каждую страницу шаблона отчета в новый лист Excel
c) ExportObjectFormatting – Экспортировать форматирование для текста, изображений и других объектов
d) ExportPageBreaks – Экспортировать перенос страницы для печати листов
e) ImageQuality – Установить качество изображения
f) ImageResolution – Установить разрешение изображения
g) PageRange – Установить диапазон страниц для экспорта
h) UseOnePageHeaderAndFooter – Использовать только один заголовок и подвал для целого листа

На рисунке Export Data Only установлено в false

Export Data Only установлено в true

Как добавить отчет на Web страницу

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

Как добавить новую связь в отчет

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

 

Как добавить Источник Данных в отчете

  • Щелкните на New Item на панели Dictionary и выберите New Data Source
  • Выберите Данные из Sql Connection и щелкните Ok
  • Напишите имя запроса Sales в поле Name
  • Напишите SQL запрос в поле Query Text
  • Щелкните Retrieve Columns, чтобы убедиться, что получены все требуемые колонки
  • Щелкните Ok, чтобы увидеть источник данных Datasource в панели Dictionary
  • Данный запрос использован в отчете
  • Назовите источник данных, которое будет использовано в дальнейшем Select
  • from Books

 

Как добавить Таблицу и Заголовок страницы в отчете

  • Щелкните на источник данных AllBooks и перетащите его в отчет
  • Щелкните на инструменте Text на тулбаре и щелкните на Заголовке страницы, чтобы вставить label
  • Отформатируйте label по Вашим требованиям, он будет выводиться как заголовок для каждого отчета

Как добавить отчет на Web страницу

  • Постройте отчет при помощи Дизайнера отчетов и сохраните файл отчет в нужное место
  • Перетащите StiWebReport из toolbox на Web страницу
  • Щелкните на Стрелку, расположенную в правом верхнем углу StiWebReport1, чтобы показать задачи StiWebReport
  • Щелкните на Open Report from File
  • Найдите свой отчет нажмите Open; отчет теперь загрузился из файла шаблона
  • Добавьте кнопки для экспорта в PDF (ShowDialog стоит в false), экспорта в PDF, экспорта в Word и экспорта в Excel

Событие Page load

  • Получите объект отчета из StiWebReport
  • Присвойте отчет StiWebViewer, чтобы построить и вывести отчет
protected void Page_Load(object sender, EventArgs e)
{
if (stiRepViewerBooks.IsImageRequest) return; // ignore the page request if images are loaded for report viewer
if (!IsPostBack)
{
stiRepViewerBooks.Report = stiBooksReport.GetReport(); //set the StiReport report object when page loads for the first time
}
}

Экспорт отчета при помощи кнопки Export

  • Установите обработчик событий для каждой кнопки отчета в btnExport_Click
  • Вызовите функцию экспорта StiReportResponse
  • Чтобы экспортировать отчет нужно один раз нажать на кнопку Export и пользователь либо увидит окно прогресса экспорта либо нет. Это зависит от параметра ShowDialog метода ResponseAsPdf
protected void btnExport_Click(object sender, EventArgs e)
{
StiReport oSR = stiBooksReport.GetReport(); //set the StiReport report object
oSR.Render(false);

if (sender == btnExportPdfShowDialogIsfalse)
StiReportResponse.ResponseAsPdf(this, oSR, false); // Export report as PDF with showDialog false
if (sender == btnExportPdf)
StiReportResponse.ResponseAsPdf(this, oSR); // Export report as PDF with showDialog true
if (sender == btnExportWord)
StiReportResponse.ResponseAsRtf(this, oSR); // Export report as a Word document
if (sender == btnExportExcel)
StiReportResponse.ResponseAsXls(this, oSR); // Export report as an Excel Sheet
}

Demo версию Stimulsoft Reports.Net можно скачать с сайта компании Stimulsoft

Copyright© 2009 Chirag Nirmal

Статья взята с DelphiPlus

Comments are closed.