How to use the FastReport.Core library from nuget

2018-05-20

UPD: Applies to the versions of FastReport .NET before 2022.2. License packages are now available on our NuGet server.

One of the innovations of FastReport.NET 2018 was the ability to use NuGet packets FastReport. To install the packages, it was necessary to create a local package source and place the compiled FastReport libraries in it. This mechanism is preserved for licensed packages, but demonstration versions are now available in the general NuGet repository:

https://www.nuget.org/profiles/FastReports

Let's look at the example. Create a .NET Core application. Call the context menu for the solution and select the item Manage NuGet Packages.

Choose Packages source - nuget.org. In the search bar type FastReport.

You need to install both packages: FastReport.Core и FastReport.Web.

The first is the actual FastReport library for the .Net Core framework. And the second one is a WebReport object that allows you to display the report and manage it in the browser.

To display the report in the application, we need a report file. And since the report works with the database, then the database file do so. Let's take from the delivery of FastReport.Net the Master-Detail.frx report template and the nwind.xml database file. Put them in the Reports folder, which you must first create in the root directory of wwwroot:

 

Open the class HomeController.

We need an interface IHostEnviroment, with which you can get information about the environment. Specifically, we need the WebRootPath property to specify the path to the report file and the database. Therefore, we add a constructor of a class that takes as an argument the interface of interest to us.

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

 And in the Index method, write the following code:

1
2
3
4
5
6
7
8
9
10
11
 public IActionResult Index()
 {
 string webRootPath = _hostingEnvironment.WebRootPath; // Get the path to the wwwroot folder
 WebReport webReport = new WebReport(); // Create a Web Report Object
 webReport.Report.Load(webRootPath + "/reports/Master-Detail.frx"); // Load the report into the WebReport object
 var dataSet = new DataSet(); // Create a data source
 dataSet.ReadXml(webRootPath + "/reports/nwind.xml"); // Open the xml database
 webReport.Report.RegisterData(dataSet, "NorthWind"); // Register the data source in the report
 ViewBag.WebReport = webReport;
 return View();
 }

 To display a WebReport object on a web page, change the Index.cshtml view as follows:

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

In the file Startup.cs you also need to make changes - add only one line of code:

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

}

 Now run the application:

Usege of FastReport.Core is now even easier. However, licensed packages still have to be installed from a local source. Configuring the local source of NuGet packages takes you no more than a minute of time.

November 26, 2024

Installing FastReport on .NET 8.0 and Creating a Simple Report

The purpose of this article is to explain step by step how to install FastReport on .NET 8.0 and how to create a simple report. Taking the reporting process from the beginning, it will show how to connect, design and view reports.
November 20, 2024

Localization and Language Switching in FastReport VCL

FastReport VCL supports 40 languages for interface localization and allows you to change the language on the fly through menus or code, without recompilation.
November 01, 2024

New Features of the FastReport VCL Editor

We are considering new features of the report editor: extension lines, highlighting of intersecting objects, updated report and data trees.
Fast Reports
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2024 Fast Reports Inc.