Как использовать объект WebReport в приложениях ASP .NET Core

17.01.2018

Не так давно FastReport порадовал нас новой библиотекой - FastReport Core. Это специальная версия FastReport .NET для работы с фреймворком ASP .NET Core. Все бы ничего, но не был реализован объект WebReport и OnlineDesigner. Приходилось делать экспорт отчета в HTML, и затем передавать его в представление. В FastReport .NET 2018 был реализован привычный нам WebReport и OnlineDesigner.

В этой статье мы рассмотрим, как использовать WebReport в приложении ASP .NET Core.

Итак, создаем приложение ASP .NET Core Web Application:

 

Выбираем шаблон Web Application MVC:

Использовать WebReport в .NET Core приложениях очень просто. Раньше требовались дополнительные настройки проекта, подключать библиотеки, скрипты и прочее. Теперь, достаточно лишь установить nugget пакет FastReport.Web, которые находятся в папке:

С:\Program Files (x86)\FastReports\FastReport.Net\Nugets

Чтобы увидеть пакеты в менеджере nuget, необходимо добавить локальный источник пакетов. Откройте менеджер пакетов. В правом верхнем углу выберите Local package source. Рядом есть значок настроек: .

 

Открываем настройки менеджера пакетов. Задаем путь для локального источника пакетов:

После этого, мы можем выбирать доступные пакеты FastReport:

 

Устанавливаем пакет FastReport.Web. Теперь можно перейти к непосредственному созданию приложения. Открываем класс HomeController.cs.

В секции using добавим несколько библиотек:

1
2
3
using FastReport.Web;
using System.Text;
using System.Data;

В метод Index добавляем следующий код:

1
2
3
4
5
6
7
8
9
10
11
public IActionResult Index()
 {
 Report = new WebReport();
 Report.Report.Load($@"Reports/Simple List.frx");
 
 var dataSet = new DataSet();
 dataSet.ReadXml(@"Reports/nwind.xml");
 Report.Report.RegisterData(dataSet, "NorthWind");
 ViewBag.WebReport = Report;
 return View();
 }

Здесь, мы создаем объект веб отчета. Затем загружаем отчет из папки Reports. Предварительно нужно добавить эту папку в проект и положить туда отчет Simple List.frx и базу данных nwind.xml, которые можно найти в поставке FastReport .NET в папке Demos.

Далее мы создали источник данных и загрузили в него нашу базу данных xml. После этого зарегистрировали источник данных в отчете. И, наконец, присваиваем объекту ViewBag отчет.

Переходим к представлению Index.cshtml. Вот, что представляет собой код страницы:

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

Мы использовали оператор await для ожидания выполнения задачи асинхронного метода Render(). Применение асинхронного метода позволяет не блокировать сайт, пока мы ждем отображения отчета.

Последний штрих. Открываем класс Startup.cs. Добавьте в метод Configure одну строку:

1
app.UseFastReport();

Таким образом мы подключили библиотеку FRCore к приложению.

Вот и все. Запустим приложение:

 

Как видите, использовать WebReport в .NET Core проще просто. Не требуется никаких настроек, устанавливаем nuget пакет и используем объект WebReport.

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

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

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

Как из приложения ASP.NET Core сформировать отчет с использованием FastReport.Core.Skia

Рассказываем как сформировать отчет на Windows и Linux с использованием FastReport.Core.Skia и приватного NuGet сервера.
22 марта 2023

Создание PDF отчета в JetBrains Rider (C#) на «Альт Рабочая станция К» 10

В этой статье мы взглянем на платформу .NET в «Альт Рабочая станция К» 10 и создадим отчет, который можно экспортировать в PDF.