With the release of FastReport .NET 2022.2, we added a plug-in to connect .XLSX files as a data source.
To use it, you must first build the project:
С:\Program Files (x86)\FastReports\FastReport.Net\Extras\Core\FastReport.Data\FastReport.Data.Excel
After building the project, you will need to add the plugin to the application in one of two ways.
1. Connecting the plugin through the designer:
2. Add the plugin as a dependency when starting the project and register it in the code with the following command:
FastReport.Utils.RegisteredObjects.AddConnection(typeof(ExcelDataConnection));
To create a connection to Excel, you need to click on the "Data" tab in the designer, and select the "Add Data Source" item. In the window that appears, click on the "New Connection" button. To connect, you need the path to the .XLSX file. If there are no problems with accessing the file, then a list of tables will appear after clicking the "Next" button. When connecting a table, you must check the box to the left of the table name. After that, you can complete the connection.
Upon completion of the data source connection, you need to connect a band to it.
The final report will use the data from the created connection to Excel.
An example of connecting to Excel from code:
// Create ExcelDataConnection instance var connection = new ExcelDataConnection(); // Set connection string connection.ConnectionString = @"C:\Matrix With Rows Only.xlsx"; // Initialize all table connection.CreateAllTables(); // Set name connection connection.Name = "NewConnection"; // Create Report instance var report = new Report(); // Add connection to report report.Dictionary.Connections.Add(connection); // Set connection show connection.Enabled = true; // Choose all tables and connect it to the report foreach (TableDataSource table in connection.Tables) { table.Enabled = true; }
Because of executing this code, we can see a new connection with tables in the designer. This will be shown in the list of available connections.
It is worth noting that the names of the "sheets" are used as the table name, and the names of the columns are used as the field names.
As you can see, it is now possible to create a connection to Excel and use the data stored there.