Библиотека FastReport.Service.dll
FastReport .NET содержит в своем составе библиотеку FastReport.Service.dll
, предназначенную для интеграции в приложения на платформе .NET Framework версии 4.6.2 и выше.
Данная библиотека представляет собой WCF Service Library и предназначена для использования в составе пользовательских приложений, выполняющих функции сервисов.
В данный момент библиотека содержит следующие функции:
List<ReportItem> GetReportsList();
Возвращает список доступных отчетов в виде элементов ReportItem
. Отчеты хранятся на жестком диске, на сервере, где работает сервис. Передаются список всех отчетов с учетом иерархии папок. Файлы отсортированы по алфавиту.
List<ReportItem> GetReportsListByPath(string path);
Возвращает список отчетов в виде элементов ReportItem
из папки path
. В список попадут все отчеты и подпапки. Файлы отсортированы по алфавиту.
List<GearItem> GetGearList();
Возвращает список доступных форматов, которые может сформировать сервис отчетов в виде элементов GearItem
.
Stream GetReport(ReportItem report, GearItem gear);
Возвращает поток данных, который является результатом построения отчета report
в формате gear
. Параметры report
и gear
могут быть использованы из списков, полученных ранее, либо созданы новые объекты с необходимыми свойствами. Возвращаемый поток не поддерживает позиционирование - вы можете осуществлять из него только последовательное чтение.
Подробнее об элементах списков.
ReportItem
public class ReportItem
{
public string Path;
public string Name;
public string Description;
public Dictionary<string, string> Parameters;
}
Path
– путь к файлу отчета на сервере, относительно корня папки хранения отчетов. Расширение файла отчета может быть только *.frx. Данное свойство используется для идентификации конкретного отчета при дальнейших запросах.
Name
– имя отчета, берется из метаданных файла отчета. Если метаданные отчета содержат пустое название, то имя совпадает с именем файла отчета без расширения. Данное свойство может быть использовано для построения интерактивных списков доступных отчетов в вашем приложении (например, в ListBox).
Description
– описание отчета, берется из метаданных файла отчета.
Dictionary<string, string> Parameters
– словарь параметров отчета. Может быть заполен параметрами, которые будут впоследствии переданы в отчет. Поддерживаются только строковые значения, что необходимо учесть при разработке шаблона отчета.
GearItem
public class GearItem
{
public string Name;
public Dictionary<string, string> Properties;
}
Name
– название формата. Может содержать одно из следующих строковых значений:
Name | Описание |
---|---|
Файл Adobe Acrobat. | |
DOCX | Файл Microsoft Word 2007. |
XLSX | Файл Microsoft Excel 2007. |
PPTX | Файл Microsoft PowerPoint 2007. |
RTF | Файл Rich Text – поддерживается множеством текстовых редакторов. |
ODS | Файл Open Office Spreadsheet. |
ODT | Файл Open Office Text. |
MHT | Сжатый HTML файл вместе с изображениями, может быть открыт в Internet Explorer. |
CSV | Comma separated values - текстовая таблица со значениями, разделенными запятыми. |
DBF | Файл базы данных dBase. |
XML | XML таблица Excel – изображения не поддерживаются. |
TXT | Текстовый файл. |
FPX | Формат готового отчета FastReport .NET. Может быть открыт в программе Viewer.exe для просмотра либо загружен непосредственно в объект отчета из кода с использованием метода Report.LoadPrepared(stream) , после чего отчет может быть отображен на экране с помощью метода Report.ShowPrepared() . |
Dictionary<string, string> Properties
– словарь параметров формирования отчета. Полный список поддерживаемых параметров со значениями по умолчанию доступен при запросе списка форматов от сервера.
При создании сервиса, использующего библиотеку FastReport.Service.dll
нужно добавить настройки в файл App.config
или Web.config
вашего приложения.
<appSettings>
<add key="FastReport.ReportsPath" value="C:\Program files\FastReports\FastReport .NET Professional\Demos\Reports" />
<add key="FastReport.ConnectionStringName" value="FastReportDemo" />
<add key="FastReport.Gear" value="PDF,DOCX,XLSX,PPTX,RTF,ODS,ODT,MHT,CSV,DBF,XML,TXT,FPX" />
</appSettings>
FastReport.ReportsPath
– указывает путь к папке с файлами отчетов, список которых будет передаваться клиенту.
FastReport.ConnectionStringName
– имя строки подключения к базе данных, которое хранится в разделе <connectionStrings>
файла конфигурации. Используется для замены внутренней строки подключения в шаблоне отчета.
FastReport.Gear
– список доступных форматов. Можно выбрать только нужные и изменить порядок следования названий.
Схематичный вариант использования FastReport.Service
:
Если вы точно знаете, какой отчет и в каком формате вы хотите получить, то схема использования сервиса может быть такой (это сократит количество запросов к сервису):
Важные моменты, которые необходимо учитывать при создании шаблонов отчетов для использования в сервисах:
диалоги в отчетах не поддерживаются и будут пропущены при построении отчета;
каждый отчет должен содержать внутренний
DataConnection
, строка подключения которого будет при построении отчета сервисом заменена на строку из конфигурации.
Примеры использования FastReport.Service.dll
можно посмотреть в папках \Demos\C#\Web\WCFWebService и \Demos\C#\Web\WCFWebClient.
Пример файла конфигурации сервиса - FastReport.Service.dll.config
.