/FastReport

Free Open Source Reporting tool for .NET5/.NET Core/.NET Framework that helps your application generate document-like reports

Primary LanguageC#MIT LicenseMIT

Visits Badge Created Badge Gitter

FastReport Open Source

What is FastReport?

FastReport provides free open source report generator for .NET 5/.NET Core/.NET Framework. You can use the FastReport Open Source in MVC, Web API, console applications.

Image of FastReport

Features

FastReport is written in C# and it is compatible with .NET Standard 2.0 and higher. Extendable FastReport architecture allows creating your own objects, export filters, wizards and DB engines.

Image of FastReport

Report Objects

  • FastReport is a band-oriented report generator. There are 13 types of bands available: Report Title, Report Summary, Page Header, Page Footer, Column Header, Column Footer, Data Header, Data, Data Footer, Group Header, Group Footer, Child and Overlay. In addition, sub-reports are fully supported.

  • A wide range of band types allows creating any kind of report: list, master-detail, group, multi-column, master-detail-detail and many more.

  • Wide range of available report objects : text, picture, line, shape, barcode, matrix, table, checkbox.

  • Reports can consist of several design pages, which allows reports to contain a cover, the data and a back cover, all in one file.

  • The Table object allows building a tabular report with variable number of rows and/or columns, just like in MS Excel. Aggregate functions are also available.

  • Powerful, fully configurable Matrix object that can be used to print pivot tables.

  • Report inheritance. For creating many reports with common elements such as titles, logos or footers you can place all the common elements in a base report and inherit all other reports from this base.

Data Sources

  • You can get data from XML, CSV, Json, MS SQL, MySql, Oracle, Postgres, MongoDB, Couchbase, RavenDB, SQLite.

  • FastReport has ability to get data from business objects of IEnumerable type.

  • Report can contain data sources (tables, queries, DB connections).

  • Thus you can not only use application-defined datasets but also connect to any database and use tables and queries directly within the report.

Internal Scripting

FastReport has a built-in script engine that supports two .NET languages, C# and VB.NET. You can use all of the .NET power in your reports to perform complex data handling and much more.

Working with report templates

You can make a report template in several ways:

Image of FastReport

Exporting

FastReport Open Source can save documents in HTML, BMP, PNG, JPEG, GIF, TIFF, EMF.

PDF export is available as a plugin. You can see an example of its use here. If this export is not enough for you and you need a full-featured PDF export with encryption, digital signing and fonts embedding - take a look at FastReport .NET Core.

Installation

FastReport can be compiled from sources or installed from NuGet packages.

Compilation

  1. Install latest .NET Core SDK for your OS from https://www.microsoft.com/net/download
  2. Follow the commands
# for windows users
git clone https://github.com/FastReports/FastReport.git
cd FastReport
Tools\pack.bat
# for linux users
git clone https://github.com/FastReports/FastReport.git
cd FastReport
chmod 777 Tools/pack.sh && ./Tools/pack.sh

The package is located at fr_nuget directory.

NuGet

You can add FastReport to your current project via NuGet package manager:

Install-Package FastReport.OpenSource
Install-Package FastReport.OpenSource.Web

Extras

The Extras folder contains additional modules that extend FastReport functionality:

Examples

In the Demos folder you can see examples of using FastReport.

Bug Reports

See the Issues section of website. When describing the issue, please attach screenshots or examples to help reproduce the problem.

Contributors

This project exists because of all the people who have contributed and continue to work on the project:

@ATZ-FR, @Detrav, @fediachov, @8VAid8, @KirillKornienko, @mandrookin, @ekondur, @Gromozekaster, @daviddesmet, @mjftechnology, @jonny-xhl, @radiodeer, @Des1re7.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

License

Licensed under the MIT license. See LICENSE.md for details.

Resources

Twitter Follow