FastReport Desktop

A standalone software product for creating and automating report generation

v. 2025.2.0

What reports can FastReport Desktop do?

Practically any: invoices, financial reports, product catalogs with color profile support, restaurant menus, sales details, questionnaires with electronic forms, airline tickets, utility bills, and much more. If you have data that needs to be made visually understandable, FastReport is the perfect solution for you.

Features and Benefits FastReport Desktop

Low-code solution
We wrote all the code for you. FastReport Desktop does not require programming skills and is suitable even for inexperienced users.
Lots of components
A variety of elements are available for building reports in the designer: from text and images to mathematical formulas and 3D diagrams.
Quick access to the report and data structure
From the report tree and properties tree, you can edit the report structure, parameters, and filters, as well as data sources with global styles.
Compatibility and integration
FastReport Desktop is part of the unified FastReport platform in C#. In FastReport Cloud, you can store your templates, reports, and data sources and then use them in the desktop designer.
Smooth transition from other solutions
Our report generator instantly converts your reports from List&Label, DevExpress, Microsoft Reporting Services (RDL, RDLC), Crystal Reports, StimulSoft, and Jasper Library into FastReport format.
Available documentation
Take advantage of our documentation, free video tutorials, and numerous articles for every usage scenario of our product in your projects to achieve meaningful results in the shortest possible time.
How to set this up?

How to set this up?

Step 1: Create a report template and connect it to a database in the report designer.

Step 2: Specify the actions you would like to perform on the report. Do you want to export to PDF? Or perhaps Excel? Send it by email or print it? Anything you'd like!

Step 3: Schedule the task. Choose the day and time when you want to see the finished report on your desk.

Step 4: Have a cup of coffee. Your work is now done.

What does the product consist of?

What does the product consist of?

With the purchase of this product, you will receive:

  1. Visual designer for creating and editing reports.
  2. Builder in the form of a console utility for building and processing reports.
  3. GUI configurator for creating builder tasks.
  4. A convenient scheduler for completing tasks on a schedule.
  5. Viewer for displaying and printing ready-made reports.

What can the designer do?

Report Designer allows developers and users to create, design, edit, view, save, export, and print custom reports without much hassle.

FastReport Desktop works stand-alone without integration into Visual Studio, and it also supports scaling, undo/redo buffers, extension lines, and rulers. The designer can be used at run-time. This will allow your users to independently edit existing documents and create new ones. The designer can also be used in MDI (Multi-Document Interface) mode to work with several reports simultaneously.

Available objects: Text, Picture, Shape, Line, Subreports, Table, Matrix, Barcode, Graphs, Maps, RichText, Checkbox, Postal code, Text in cells, Exports in 40+ formats, Dialog forms, Data sources, Runtime Report Designer, Report script, Saving templates in clouds.

Localization is supported for more than 40 popular languages of the world.

What can the designer do?

 

 

 

Are these reports safe?

Protecting your analyzed data is very important to us. We offer you 3 ways to increase document confidentiality.

Method 1. In the "Security" tab, specify a password that will be requested when opening the report. The report with the password is saved in encoded form, so don't forget your password! It will be almost impossible to recover the report in this case.

Method 2. Increase the security of your data by using your encryption key. In this case, the report file can only be opened correctly in your program.

Method 3. Apply additional report settings to grant permission to print the document, make changes to the document, and copy text and graphics from the document.

Are these reports safe?

 

 

 

How does the schedule work?

You can set up receiving reports every day, week, or month with a detailed analysis of all information. FastReport Desktop is great for building quarterly reports, monthly sales analysis, and daily generation of payment documents.

Adapt the schedule to suit your needs. Schedule reports to run only when your computer starts. Or enable automatic report generation when you log in.

The ready-made files can be saved locally and downloaded with a mouse click. They can also be sent for printing upon completion of the generation process and uploaded to cloud storage such as OneDrive, Dropbox, Google Drive, Box, E-Mail, and FTP.

How does the schedule work?

 

 

 

Why FastReport Desktop?

You can turn your data into visual information. Create a report, connect to a database, and use graphs to make business decisions. FastReport Desktop will be an excellent replacement for the outdated FastReport Studio solution.

Compatible databases: MS SQL, Oracle, PostgreSQL, MySQL, MongoDB, Firebird SQL, RavenDB, Couchbase, XML, JSON, CSV, SQLite, OLE DB, ODBC.

Export formats: PDF, PDF/A, PDF/X, RTF, Excel 2007, Excel 97, Word 2007, PowerPoint 2007, Open Office Calc, Open Office Writer, XML, XAML, HTML, MHT, BMP, PNG, GIF, JPEG, TIFF, EMF, SVG, CSV, DBF, JSON, Text, ZPL, PPML, PostScript, XPS, LaTeX.

Low-code — we wrote all the code for you. FastReport Desktop does not require programming skills and is suitable even for inexperienced users. The interface contains simple logic and drag-and-drop functions instead of various programming languages. Detailed documentation will simplify the process of mastering the system and connecting it to your IT solutions.

Suitable for installation on the Windows operating system.

Why FastReport Desktop?

 

 

Delivery options

Features
from $999
Buy
from $399
Buy
Get
Common component interface
Report manager
Applications
FastReport Engine
Data connections
Reporting features
Report objects
Barcodes
Charts
Printing
Export to formats
Transports
Convertors from

Resent articles

April 08, 2025

How to Set Up a Connection to Apache Ignite in FastReport .NET

  Apache Ignite is a distributed in-memory computing platform that enables the processing and storage of large volumes of data in memory to achieve high performance and scalability. In this article, we will explore how to configure a connection to Apache Ignite in FastReport .NET. You will learn the necessary steps to connect the plugin via code and the report designer. By following our recommendations, you will be able to effectively use Apache Ignite as a data source for your reports in FastReport .NET. The implemented plugin for connecting to Apache Ignite is a lightweight solution based on the Ignite.NET Thin Client.     Apache Ignite Plugin Features Connection to Apache Ignite clusters: The plugin allows you to connect to one or more nodes in the cluster. The node addresses are specified in the host:port format, separated by commas. Working with caches: It supports interaction with caches in both key-value mode and as SQL tables. Authentication: The plugin supports authentication if the authenticationEnabled option is enabled in the cluster configuration. Handling various data types: The plugin ensures proper handling of different data types, including custom objects.     Features of Apache Ignite Implementation Ignite offers two ways to logically represent data: key-value caches and SQL tables (schemas). Despite the differences, these representations are equivalent and can reflect the same data. In Ignite, an SQL table and a key-value cache are two equivalent ways of representing the same internal data structure. Access to the data can be obtained through the key-value API, SQL operators, or both methods. A cache is a collection of key-value pairs, accessed through the key-value API. An SQL table in Ignite is similar to tables in traditional database management systems, but with some additional constraints. For example, each SQL table must have a primary key. A table with a primary key can be represented as a key-value cache, where the primary key column acts as the key, and the other columns in the table are the fields of the object (value).   The main difference between these two data representations lies in the method of accessing them. With a key-value cache, you can work with objects using supported programming languages. SQL tables, on the other hand, support standard SQL syntax, which can be beneficial, for example, when migrating data from an existing database.     How to Connect the Plugin in Your Project To use the plugin, you must first build the project located at:  ..\Extras\Core\FastReport.Data\FastReport.Data.Ignite. After that, the plugin needs to be registered. This can be done in two ways. Method 1. Using Code. Copy the following code and paste it into your project. This needs to be done only once when starting the application. FastReport.Utils.RegisteredObjects.AddConnection(typeof(IgniteDataConnection)); Method 2. Using the Report Designer. To connect the connector in the designer, go to the "File|Settings..." menu in the Ribbon interface (or "View|Settings..." in the standard interface). In the opened window, select the "Plugins" tab and add the built .dll of the plugin as shown below.   After adding the plugin, it is necessary to restart the FastReport .NET designer.     How to Connect a Data Source in the Designer To create a connection to Apache Ignite, go to the "Data" menu and select "Add Data Source."     In the opened window, click on the "New Connection" button, then from the dropdown list of connection types, select the option " Apache Ignite Connection." In the window that appears, specify the address(es) of the nodes, as well as the username and password (if required).   If the connection is successful, the next step will display a list of tables (caches) contained in the nodes specified in the previous step:     Differences When Working with Caches in the Plugin The plugin supports working with caches that are created both as key-value pairs and as SQL tables. The method of creating and configuring a cache in Apache Ignite directly impacts the composition of fields and the representation of data types. Depending on the chosen method (for example, using classes with the [QuerySqlField] attributes, programmatic definition via QueryEntity, or working with dynamic data), the result may vary. This concerns both the list of available fields and their data types. The following code examples will use snippets from the official Apache Ignite functionality examples. These examples can be downloaded from this link in the BINARY RELEASES section:  https://ignite.apache.org/download.cgi.  Let’s open the downloaded archive and navigate to the following folder: ..\apache-ignite-2.17.0-bin\platforms\dotnet\examples\Thin From these examples, we will use the custom class Organization, which represents the data model of an organization. This class contains the following properties: Name: The name of the organization. It is marked with the [QuerySqlField(IsIndexed = true)] attribute, which allows it to be used in SQL queries and creates an index to speed up searches. Address: The address of the organization, represented as a nested object of type Address. This is also available for SQL queries due to the [QuerySqlField] attribute. Type: The type of organization (e.g., commercial or non-profit), represented by the enumeration OrganizationType. LastUpdated: A timestamp indicating when the organization's data was last updated. The complete code for the class can be found in the folder: ..\apache-ignite-2.17.0-bin\platforms\dotnet\examples\Shared\Models     Creating a Cache Using QueryEntity QueryEntity is an Apache Ignite component that allows you to programmatically define the data structure (schema) for a cache and manually specify the fields along with their types. For caches with metadata (QueryEntity), operations for retrieving the list of fields and their data types are supported. Custom data types are handled in the following manner: The list of fields displays only the fields marked with the [QuerySqlField] attribute. Fields are presented in the format data_type.field_name.  For example, if the cache is created during the setup as follows: var organizationCache = ignite.GetOrCreateCache<int, Organization>( new CacheClientConfiguration("dotnet_cache_query_organization", new QueryEntity(typeof(int), typeof(Organization)))); Then, when connecting to an already prepared instance of Apache Ignite in FastReport, the list of fields will include only those fields from the Organization class that are marked with the  [QuerySqlField] attribute.   However, when viewing the data, all fields from the cache will be displayed:   Creating a Cache Without QueryEntity   If the cache is created during the setup without using QueryEntity, then the data types of all fields will be defined as string. Example code:   ICacheClient<int, Organization> cache = ignite.GetCache<int, Organization>("dotnet_cache_put_get"); In the list of fields, all available fields will be displayed, regardless of the presence of the [QuerySqlField] attribute. This is the second method of creating a cache.     Working with Caches Created as SQL Tables Finally, let's consider the third method of working with caches. Here is an example of creating and populating a cache as an SQL table: cache.Query(new SqlFieldsQuery( "CREATE TABLE IF NOT EXISTS city (id LONG PRIMARY KEY, name VARCHAR) WITH \"template=replicated\"")).GetAll();   const string addCity = "INSERT INTO city (id, name) VALUES (?, ?)"; cache.Query(new SqlFieldsQuery(addCity, 1L, "Forest Hill")); cache.Query(new SqlFieldsQuery(addCity, 2L, "Denver")); cache.Query(new SqlFieldsQuery(addCity, 3L, "St. Petersburg")); For such caches, the metadata (QueryEntity) contains information about the data types for each field.   In an Apache Ignite cache, data may be stored without explicitly defined field names. For example: var cache = ignite.GetOrCreateCache<int, object>("put-get-example");   int key = 1; var val = new Address("1545 Jackson Street", 94612); cache.Put(key, val);   int key1 = 2; var val1 = 942.28956; cache.Put(key1, val1);   int key2 = 3; var val2 = "test String"; cache.Put(key2, val2); When connecting to an instance of Apache Ignite in FastReport (with the code from the example above), you will see the following result. In this example: The fields Street and Zip from the custom class Address have names, as they are defined in the structure of the class. Values such as the number 942.28956 or the string "test String" do not have names, as they are added to the cache as simple key-value objects. For fields that lack a name, unique identifiers are generated.     Conclusion We’ve covered how to set up a connection to Apache Ignite in FastReport .NET. By following the steps outlined, you’ll be able to integrate these systems and take full advantage of Apache Ignite as a data source for your reports. Apache Ignite provides fast data access and processing, while FastReport .NET enables the creation of powerful reports. Their integration opens up new opportunities for data analysis and visualization. We hope this article has been helpful and will assist you in effectively using Apache Ignite in your projects with FastReport .NET.
Read
April 08, 2025

Converter from Microsoft Word (.docx) format to FastReport .NET (.frx) file

Modern data processing technologies and document workflow automation require the integration of various file formats to ensure seamless interaction between software products. With its extensive capabilities, Microsoft Word has become one of the most popular text editors, suitable for a wide range of tasks. At times, you may need to convert these documents into formats specific to other applications. For instance, there are situations where you need to convert Microsoft Word files into the FastReport .NET format, which is used for creating report templates when working with FastReport.     How to Compile the Project First, open the .sln file named FastReport.OOXMLImportPlugin.sln. Note that there are two such files for Visual Studio 2017 and above. Then, remove the references to the FastReport and FastReport.Bars projects as shown in the screenshot below.   After that, you need to add a reference to FastReport.dll. This DLL is located in the same folder as the Designer.   Right-click in the workspace and click "Build." After that, navigate to the path FastReport.OOXMLImportPlugin\bin\Debug\net472 and you will find the compiled file “OOXMLImportPlugin.dll” in that folder.   How to Register the DLL in FastReport You can do this in several ways. Method 1: Register using the FastReport Development Environment Open the report designer, then go to the "File|Settings..." menu in the Ribbon interface (or "View|Settings..." in the standard interface).   Next, in the "Plugins" tab, add FastReport.OOXMLImportPlugin.dll.   After that, restart the FastReport .NET designer. If you are working in the Visual Studio IDE, be sure to restart it as well. Once the designer is launched again, click "File|Open" and select "Microsoft Word Document (*.docx)" from the list of available files, as shown in the screenshot below.   Select the desired *.docx file to import into FastReport .NET. As a result, you will see the imported file in the designer.     Method 2: Manually Edit the FastReport.config File By default, this file is located in the folder C:\DocumentsandSettings\user_name\Local Settings\Application Data\FastReport. Make sure to close all running instances of FastReport .NET. Only after that, open the configuration file in any text editor and change it as follows: <?xml version=«1.0» encoding=«utf-8»?> <Config> ... <Plugins <Plugin Name=«c:\.....\ OOXMLImportPlugin.dll»/> </Plugins> </Config     Method 3: Register the DLL Programmatically For this, you will need to add an "OOXMLImportPlugin.dll" reference in your project, as shown below.     Then, execute the following code once when the application starts: FastReport.Design.DesignerPlugins.Add(typeof(FastReport.Design.ImportPlugins.OOXML.DocxImportPlugin));     How to Register the NuGet Package FastReport.Plugins.OOXMLImport in FastReport First, install the NuGet packages FastReport.Net and FastReport.Plugins.OOXMLImport from our private NuGet server. Installation instructions are available at this link.    Next, you need to register the plugin using the following code:   FastReport.Design.DesignerPlugins.Add(typeof(FastReport.Design.ImportPlugins.OOXML.DocxImportPlugin));   Run the application, then click "File|Open" and select "Microsoft Word Document (.docx)."   Select the desired *.docx file to import into FastReport .NET. As a result, you will see the imported file in the designer.   Known Limitations as of the Release of Version 2025.2.0 As of now, our plugin does not support background highlighting of part of a line, shapes, as well as nested vector graphics (Vector Markup Language, VML), and OLE objects.Sometimes, empty pages are added to the resulting report. If you encounter this issue, please contact our technical support at support@fast-report.com.     Conclusion Thus, the developed converter from .docx to .frx is an important step in simplifying the automation of document handling processes and report generation. It significantly reduces the time required to create report templates by using ready-made Word files.  It’s important to remember that the structures of the two file formats are different and cannot just be swapped into one another. You need to take into account the file structures and adjust everything to fit the required format to ensure that the data is accurate and the formatting is preserved. For guidance on how to prepare the document so that it retains its proper structure, please refer to this material.
Read
March 25, 2025

How to Merge Multiple Reports into One in FastReport .NET

FastReport .NET is a powerful tool for creating and managing reports, widely used in various fields. It provides developers with the ability to create complex and professional reports using a multitude of features and capabilities. One of the key features of FastReport .NET is the ability to merge multiple reports into one. This can be useful where you need to combine data from different sources or present information in a more convenient format. In this article, we will discuss how to merge multiple reports into one in FastReport .NET. Open the FastReport .NET report designer and load your report.   Once the designer is open, select the “File” menu and then “Open Page.”   In the file system, select the report that you want to merge with the first one and load it.   Now, choose the required page and click OK. Starting from FastReport .NET version 2025.1, you can enable the “Add as Link” option, which means that the report will include a link to the page rather than a copy of it. This means that if the page is changed in the original report, the changes will be reflected in all reports where the page has been added as a link. Conversely, if the page is modified in one of the reports that link to it, it will be changed in the original report as well.   If everything went successfully, you will have access to the added pages from the selected template at the bottom of the designer.   To merge them into a single report, you can save the current modified template, or save it as a new template. To do this, select the “File” menu and then “Save As.” Save the new report under a new name.   In this article, we have covered in detail how to merge several reports into one in FastReport .NET. We explored the main tools and methods that FastReport .NET provides for merging reports, as well as how to use them effectively.
Read
Fast Reports
  • 800-985-8986 (English, US)
  • +31 97 01025-8466 (English, EU)
  • +49 30 56837-3928 (German, DE)
  • +55 19 98147-8148 (Portuguese, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.