С релизом FastReport .NET 2022.2 был добавлен плагин для подключения файлов в формате .XLSX в виде источника данных.
Для его использования необходимо предварительно собрать проект:
С:\Program Files (x86)\FastReports\FastReport.Net\Extras\Core\FastReport.Data\FastReport.Data.Excel
После сборки проекта нужно будет добавить плагин в приложение одним из двух способов.
1. Подключение плагина через дизайнер:
2. Добавить плагин как зависимость при запуске проекта и зарегистрировать его в коде следующей командой:
FastReport.Utils.RegisteredObjects.AddConnection(typeof(ExcelDataConnection));
Для создания подключения к Excel нужно кликнуть на вкладку «Данные» в дизайнере, и выбрать пункт «Добавить источник данных». В появившемся окне нажать на кнопку «Новое подключение». Для подключения необходим путь к .XLSX файлу. Если проблем с доступом к файлу не возникнет, то после нажатия кнопки «Далее» появится список таблиц. При подключении таблицы необходимо поставить галочку, которая находится левее названия таблицы. После этого можно будет завершить подключение.
По завершению подключения источника данных необходимо привязать к нему бэнд.
В итоговом отчете будут использованы данные из созданного подключения к Excel.
Пример подключения к Excel из кода:
// Создание объекта ExcelDataConnection var connection = new ExcelDataConnection(); // Установка строки подключения connection.ConnectionString = @"C:\Matrix With Rows Only.xlsx"; // Инициализация всех таблиц connection.CreateAllTables(); // Установка имени подключения connection.Name = "NewConnection"; // Создание объекта Report var report = new Report(); // Добавление подключения к отчету report.Dictionary.Connections.Add(connection); // Включаем отображение подключения connection.Enabled = true; // Выбираем все таблицы и подключаем их к отчету foreach (TableDataSource table in connection.Tables) { table.Enabled = true; }
В результате выполнения этого кода мы можем увидеть в дизайнере новое подключение с таблицами. Это будет отражено в списке доступных подключений.
Стоит отметить, что в качестве имени таблицы используются названия «листов», а в качестве названий полей - имена столбцов.
Как видите, теперь возможно создать подключение к Excel и использовать данные, хранимые там.