Как использовать библиотеку FastReport.Core из nuget

20.05.2018

UPD: Актуально до версии FastReport .NET 2022.2. Теперь лицензионные пакеты доступны на нашем NuGet-сервере.

Одним из нововведений FastReport.NET 2018 было введение nuget пакетов FastReport. Для установки пакетов необходимо было создать локальный источник пакетов и поместить в него скомпилированные библиотеки FastReport. Этот механизм сохранился для лицензионных пакетов, но демонстрационные версии теперь доступны в общем репозитории NuGet: https://www.nuget.org/profiles/FastReports

Давайте рассмотрим на примере. Создадим приложение .NET Core. Вызываем контекстное меню для решения и выбираем пункт Manage NuGet Packages.

Выбираем Packages source – nuget.org. В строке поиска набираем FastReport.

Нужно установить оба пакета: FastReport.Core и FastReport.Web.

Первый – собственно библиотека FastReport для фреймворка .Net Core. А второй – объект WebReport, который позволяет отображать отчет и управлять им в браузере.

Для отображения отчета в приложении нам нужен файл отчета. А так как отчет работает с базой данных, то и файл базы данных. Возьмем из поставки FastReport.NET Шаблон отчета Master-Detail.frx и файл базы данных nwind.xml. Поместим их в папку Reports, которую предварительно нужно создать в корневой директории wwwroot:

 

Откроем класс HomeController.

Нам понадобится интерфейс IHostEnviroment, с помощью которого можно получить информацию об окружении. А именно нам потребуется свойство WebRootPath, чтобы указать путь к файлу отчета и базы данных. Поэтому добавим конструктор класса, который принимает в качестве параметра интересующий нас интерфейс.

1
2
3
4
5
private readonly IHostingEnvironment _hostingEnvironment; 
public HomeController(IHostingEnvironment hostingEnvironment)
 {
 _hostingEnvironment = hostingEnvironment;
 }

 Авметод Index напишемследующийкод:

1
2
3
4
5
6
7
8
9
10
11
 public IActionResult Index()
 {
 string webRootPath = _hostingEnvironment.WebRootPath; //Получаем путь к папке wwwroot
 WebReport webReport = new WebReport(); //Создаем объект веб отчета
 webReport.Report.Load(webRootPath + "/reports/Master-Detail.frx"); //Загружаем отчет в объект WebReport
 var dataSet = new DataSet(); //Создаем источник данных
 dataSet.ReadXml(webRootPath + "/reports/nwind.xml"); //Открываем базу данных xml
 webReport.Report.RegisterData(dataSet, "NorthWind"); //Регистрируем источник данных в отчете
 ViewBag.WebReport = webReport;
 return View();
 }

Чтобы отобразить объект WebReport на web странице, изменим представление Index.cshtml следующим образом:

1
2
3
4
@{
 ViewData["Title"] = "Home Page";
}
 @await ViewBag.WebReport.Render();

В файле Startup.cs тоже нужно внести изменения – добавить только одну строку кода:

1
2
3
4
5
 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 {
 app.UseFastReport();

}

Теперь запустим приложение:

Использовать FastReport.Core теперь еще проще. Однако, лицензионные пакеты все-таки придется устанавливать из локального источника. Настройка локального источника пакетов NuGet отнимет у вас не больше минуты времени.

.NET FastReport .NET FastReport
10 февраля 2025

Как попробовать FastReport .NET WEB перед покупкой

Протестировав WEB пак перед покупкой, вы сможете сделать осознанный выбор: подходит ли вам FastReport .NET для ваших задач.
22 января 2025

Как подключить РЕД БД к генератору отчетов FastReport .NET

Пошаговая инструкция по подключению РЕД БД к генератору отчётов FastReport .NET. Эффективные методы и рекомендации для создания отчётов на основе данных из базы.
20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.