FastReport .NET WinForms

Классический набор компонентов для генерации отчетов и документов в Windows Forms приложениях

v. 2025.2.2

Какие отчеты может делать FastReport .NET WinForms?

FastReport .NET WinForms – это инструмент для создания отчетов, который позволяет преобразовать любые данные в понятные и привлекательные визуальные материалы. Хотите ли вы создать профессионально оформленную счет-фактуру, подробный финансовый отчет, каталог продукции с богатой цветовой гаммой, меню ресторана, детализацию продаж, анкету с удобными электронными формами, счет за коммунальные услуги, авиабилет или отчет о предоставляемых услугах – FastReport .NET WinForms справится с задачей.

Используйте готовые шаблоны унифицированных форм, доступные в формате шаблонов или PDF в нашем каталоге МоиОтчеты Магазин, чтобы быстро приступить к работе. FastReport .NET WinForms – идеальное решение для тех, кто хочет превратить данные в информативные и визуально привлекательные отчеты.

Отчеты в системах для бизнеса, история основателя u4et.ru

Кейс: Отчеты в системах для бизнеса, история основателя u4et.ru

«Быстрые отчеты» — набор мощных инструментов для генерации документов из больших данных. Продукты спокойно решают задачи корпораций. А как они помогают малому бизнесу? Рассказываем, как платформа «u4et.ru» автоматизирует создание отчетов.

Особенности и преимущества WinForms

Встраиваемость в проекты
Установите необходимый пакет из NuGet репозитория, либо загрузите пакет с нашего сайта на компьютер и добавьте в проект необходимые библиотеки. Никаких дополнительных модулей и специальных расширений не требуется.
Множество компонентов
Для построения отчетов в дизайнере доступны разнообразные элементы: от текста и изображений до математических формул и 3D-диаграмм.
Быстрый доступ к отчету и структуре данных
Из дерева отчетов и дерева свойств вы сможете редактировать структуру отчета, параметры и фильтры, а также источники данных с глобальными стилями.
Совместимость и интеграция
WinForms является частью единой экосистемы FastReport на C#. Отчёты, созданные в других продуктах, будут работать в WinForms и наоборот.
Плавный переход из других решений
Наш генератор отчетов мгновенно преобразует ваши отчеты из List&Label, DevExpress, Microsoft Reporting Services (RDL, RDLC), Crystal Reports, StimulSoft, Jasper Library в формат FastReport.
System.Drawing (GDI)
Для создания графических элементов, отрисовки текста и управления графических изображений используется уже привычный System.Drawing с графическими функциями GDI+.

FastReport .NET WinForms: Дизайнер шаблонов

Сердцем системы является автономный десктопный дизайнер шаблонов. Он предоставляет разработчикам и конечным пользователям полный контроль над созданием, редактированием, просмотром, сохранением, экспортом и печатью отчетов. Дизайнер шаблонов – это инструмент, который позволяет создавать уникальные отчеты, а также легко изменять уже существующие без необходимости программирования.

Дизайнер работает как в режиме разработки, так и в режиме исполнения, предоставляя пользователям возможность самостоятельной модификации документов и создания новых отчетов. Функция MDI (Multi-Document Interface) позволяет эффективно работать с несколькими отчетами одновременно. FastReport .NET WinForms поддерживает локализацию на более чем 25 языках, что делает его доступным для широкой аудитории.

Система использует бэнд-ориентированную архитектуру, обеспечивая гибкость и простоту создания отчетов различной сложности. Встроенный набор элементов позволяет создавать отчеты типа "список", "master-detail", "отчет с группировкой", "многоколоночный", "master-detail-detail" и многие другие. Создавайте базовые шаблоны, которые включают в себя общие элементы, такие как заголовок, подвал, реквизиты предприятия и логотипы, и наследуйте их для других отчетов. Функция вложенных отчетов позволяет создавать сложные иерархические отчеты.

Дизайнер шаблонов

Обработка данных

FastReport .NET WinForms обеспечивает максимальную гибкость в работе с данными для ваших отчетов. Система поддерживает подключение к различным источникам данных, включая ADO .NET, MS SQL, XML-базы данных, а также предоставляет возможность подключения к другим типам БД через специальные коннекторы. Доступна опция получения данных из бизнес-объектов типа IEnumerable, что расширяет возможности работы с данными.

FastReport .NET WinForms позволяет не только использовать данные, доступные в вашем приложении, но и напрямую подключаться к различным БД непосредственно из отчета. Это дает вам полный контроль над данными и открывает новые возможности для создания отчетов. Встроенный скриптовый движок поддерживает языки программирования C# и VB .NET, что позволяет вам использовать всю мощь платформы .NET для комплексной обработки данных, управления диалоговыми формами и выполнения других задач в отчете.

Система предоставляет возможность создания диалоговых форм для запроса параметров перед построением отчета. Диалоговые элементы управления поддерживают подключение к данным и их фильтрацию, что делает создание сложных отчетов с гибкими параметрами простым и интуитивно понятным. Визуальный конструктор запросов позволяет создавать сложные запросы, объединяющие данные из нескольких таблиц, без необходимости знания языка SQL. Это делает FastReport .NET WinForms доступным даже для пользователей без глубоких знаний SQL.

Обработка данных

Предпросмотр и печать

FastReport .NET WinForms предоставляет все необходимое для создания и управления отчетами, от дизайна до печати. Встроенный Вьювер отчетов позволяет детально просмотреть подготовленный отчет перед его печатью или экспортом. Вьювер поддерживает работу с параметрами, многоуровневую детализацию и интерактивность. Вы можете запрограммировать реакцию на щелчок мыши на объекте в отчете, например, вывести дополнительный отчет с более подробной информацией о выбранном элементе.

Система предлагает расширенные возможности печати. Функция разделения больших страниц отчета на меньшие позволяет печатать документы формата А3 на принтерах с поддержкой формата А4. Также доступны опции печати нескольких маленьких страниц на одной большой, а также печать на заданном формате с масштабированием. FastReport .NET WinForms — это комплексное решение для создания, управления и печати отчетов, которое обеспечивает максимальную гибкость и функциональность.

Предпросмотр и печать

Экспорты в удобные форматы

Система предлагает широкий набор форматов для экспорта отчетов, включая PDF, RTF, XLSX, XML, DOCX, TXT, CSV, PowerPoint, HTML, MHT, XPS, JPEG, BMP, PNG, Open Document Format (ODT, ODS, ODP), XAML, Scalable Vector Graphics (SVG), DBF, PPML и многие другие. FastReport .NET WinForms обеспечивает интеграцию с популярными облачными сервисами, такими как OneDrive, Google Drive, Box, Dropbox, а также с платформой МоиОтчеты Облако, для удобного хранения и публикации отчетов.

Система позволяет быстро и легко преобразовывать отчеты с редактируемыми полями, включая текстовые поля, символьные расчески, флажки, радиогруппы и графические поля, в документы PDF без необходимости подключения дополнительных библиотек. FastReport .NET WinForms поддерживает сохранение отчетов в популярных форматах PDF, включая PDF 1.5, PDF/A-1a, PDF/A-2a, PDF/A-2b, PDF/A-2u, PDF/A-3a, PDF/A-3b, PDF/X-3 и PDF/X-4. Эти форматы гарантируют безопасность, доступность и надежность ваших документов, соответствуя современным стандартам.

Экспорты в удобные форматы

Ultimate .NET

Этот набор компонентов входит в состав Ultimate решения, с помощью которого вы сможете создавать свои бизнес-проекты на всех современных платформах .NET, ASP.NET, Blazor, WASM, WPF, WinForms, Avalonia UI, Mono и других. Со своей командой вы сможете работать как в десктопном дизайнере, так и прямо из браузера. В состав Ultimate также входят компоненты для визуализации данных, а именно бизнес-графика с набором диаграмм, и OLAP продукты для быстрой обработки больших массивов данных.

Кейс: Как «Быстрые отчеты» помогли разработчику MES-систем заместить импортное ПО и создать новый продукт

Кейс: Как «Быстрые отчеты» помогли разработчику MES-систем заместить импортное ПО и создать новый продукт

Интегратор MES-систем для управления производством ExePlant столкнулся с трудностями после ухода иностранных вендоров, софт которых он внедрял. В кейсе рассказываем, как компания адаптировалась к новым условиям и как в этом помогла наша партнерская программа

Варианты поставок

Особенности
от 149 890 ₽
WEB
от 79 890 ₽
от 49 890 ₽
Ядро FastReport
Платформы .NET
WEB компоненты
Online Designer
FastReport.Drawing (Skia)
System.Drawing (GDI)
Система исполнения скриптов
Поддержка баз данных
Возможности отчётов
Объекты отчета
Штрих-коды
Диаграммы
Печать
Экспорт в различные форматы
Транспорты (Transports)
Конвертеры из других шаблонов
Плагины
Поддержка пользовательских плагинов
Исходные коды

Связанные статьи

8 апреля 2025

Конвертер из формата Microsoft Word (.docx) в файл для FastReport .NET (.frx)

Современные технологии обработки данных и автоматизации документооборота требуют интеграции различных форматов файлов, обеспечивающих взаимодействие программных продуктов. Благодаря широкому спектру возможностей текстовый редактор Microsoft Word стал одним из популярнейших редакторов разной сложности.  В некоторых ситуациях возникает потребность конвертирования таких документов в форматы, свойственные иным приложениям. Существует случаи необходимости конвертации файлов Microsoft Word в формат FastReport .NET, используемый для создания шаблонов отчетов при работе с FastReport.     Как скомпилировать проект Первым делом откройте .sln-файл под названием FastReport.OOXMLImportPlugin.sln. Обратите внимание, что существует 2 таких файла для VisualStudio 2017 и версии выше. Затем удалите ссылки на проекты FastReport и FastReport.Bars как на скриншоте ниже.   После этого нужно добавить ссылку на FastReport.dll. Эта DLL находится в одной папке с Designer.   Нажмите ПКМ в рабочем пространстве и кнопку «Собрать». После чего перейдите по пути FastReport.OOXMLImportPlugin\bin\Debug\net472 и в папке найдете собранный файл «OOXMLImportPlugin.dll».     Как зарегистрировать dll в FastReport Вы можете сделать это несколькими способами.  Способ 1. Зарегистрировать с помощью среды разработки FastReport Откройте дизайнер отчетов, затем перейдите в меню «Файл|Настройки...» в Ribbon интерфейсе (меню «Вид|Настройки...» в стандартном интерфейсе).   Далее на вкладке «Плагины» добавьте FastReport.OOXMLImportPlugin.dll.   После этого перезапустите дизайнер FastReport .NET. Если вы работаете в среде Visual Studio IDE, то перезапустите ее тоже. Как только дизайнер будет вновь запущен, то нажмите «Файл|Открыть» и выберите пункт «Документ Microsoft Word (*.docx)» в списке доступных файлов как на скриншоте ниже.   Выберите нужный вам файл *.docx для импорта в FastReport .NET. В результате вы увидите импортированный файл в дизайнере.      Способ 2. Отредактировать вручную файл FastReport.config По умолчанию этот файл находится в папке C:\DocumentsandSettings\user_name\Local Settings\Application Data\FastReport. Обязательно закройте все запущенные экземпляры FastReport .NET. И только после этого откройте файл конфигурации в любом текстовом редакторе, а затем измените его следующим образом: <?xml version=«1.0» encoding=«utf-8»?> <Config> ... <Plugins <Plugin Name=«c:\.....\ OOXMLImportPlugin.dll»/> </Plugins> </Config     Способ 3. Зарегистрировать dll программно Для этого вам понадобится добавить ссылку «OOXMLImportPlugin.dll» в ваш проект как показано ниже.    Далее выполните следующий код один раз при запуске приложения: FastReport.Design.DesignerPlugins.Add(typeof(FastReport.Design.ImportPlugins.OOXML.DocxImportPlugin));     Как зарегистрировать nuget пакет FastReport.Plugins.OOXMLImport в FastReport В первую очередь установите nuget пакеты FastReport.Net и FastReport.Plugins.OOXMLImport с нашего приватного nuget сервера. Инструкция по установке доступна по этой ссылке.   Далее нужно зарегистрировать плагин через следующий код: FastReport.Design.DesignerPlugins.Add(typeof(FastReport.Design.ImportPlugins.OOXML.DocxImportPlugin));   Запустите приложение, затем нажмите «Файл|Открыть» и выберите пункт «Документ Microsoft Word (.docx)».   Выберите нужный вам файл *.docx для импорта в FastReport .NET. В результате вы увидите импортированный файл в дизайнере.      Известные ограничения на момент выхода версии 2025.2.0 На данный момент наш плагин не поддерживает: подсветку фона части строки, шейпы (Shapes), а также вложенную векторную графику Vector Markup Language (VML) и OLE объекты. Иногда добавляются пустые страницы в получившийся отчет. Если вы столкнётесь с описанной проблемой, то напишите нам в техническую поддержку support@fastreport.ru.     Заключение Таким образом, разработанный конвертер из .docx в .frx является важным шагом в области упрощения автоматизации процессов работы с документами и генерации отчетов. Он позволяет существенно сократить время на создание шаблонов отчетов, используя готовые файлы Word.  Важно учесть, что структуры обоих файлов форматов различны и их нельзя просто вставить один в другой. Необходимо учитывать структуры файлов и привести всё к требуемому виду, чтобы данные содержались правильно и форматирование сохранилось. Как подготовить документ так, чтобы он сохранил свою правильную структуру, читайте в этом материале. 
Читать
8 апреля 2025

Как настроить подключение к Apache Ignite в FastReport .NET

  Apache Ignite — это распределённая платформа in-memory computing, которая позволяет обрабатывать и хранить большие объёмы данных в оперативной памяти для достижения высокой производительности и масштабируемости. В этой статье мы рассмотрим, как настроить подключение к Apache Ignite в FastReport .NET. Вы узнаете, какие шаги необходимо выполнить для подключения плагина через код и дизайнер отчетов. Следуя нашим рекомендациям, вы сможете эффективно использовать Apache Ignite в качестве источника данных для ваших отчетов в FastReport .NET. Реализованный плагин для подключения к Apache Ignite представляет собой легковесное решение на базе Ignite.NET Thin Client.     Возможности плагина Apache Ignite Подключение к кластерам Apache Ignite: плагин позволяет подключаться к одному или нескольким узлам кластера. Адреса узлов указываются в формате хост:порт, разделённые запятыми; Работа с кэшами: поддерживается взаимодействие с кэшами как в режиме ключ-значение, так и в виде SQL-таблиц;  Аутентификация: плагин поддерживает аутентификацию, если в конфигурации кластера включена опция authenticationEnabled; Обработка различных типов данных: плагин обеспечивает корректную обработку различных типов данных, включая пользовательские объекты.     Особенности реализации Apache Ignite Ignite предлагает два способа логического представления данных: кэш ключ-значение и SQL-таблицы (схемы). Несмотря на различия, эти представления равнозначны и могут отображать одни и те же данные. В Ignite SQL-таблица и кэш ключ-значение — это два равнозначных способа представления одной внутренней структуры данных. Доступ к данным можно получить с помощью API ключ-значение, SQL-операторов или обоих методов. Кэш — это набор пар ключ-значение, доступ к которым осуществляется через API ключ-значение. SQL-таблица в Ignite похожа на таблицы в традиционных системах управления базами данных, но с некоторыми дополнительными ограничениями. Например, у каждой SQL-таблицы должен быть первичный ключ. Таблицу с первичным ключом можно представить как кэш ключ-значение, где столбец первичного ключа выступает в роли ключа, а остальные столбцы таблицы — это поля объекта (значение).   Основное отличие между этими двумя представлениями данных заключается в методе доступа к ним. С помощью кэша ключ-значение можно работать с объектами, используя поддерживаемые языки программирования. SQL-таблицы, в свою очередь, поддерживают стандартный синтаксис SQL, что может быть полезно, например, при переносе данных из существующей базы данных.     Как подключить плагин в проект Для использования плагина необходимо предварительно собрать проект, находящийся по пути: ..\Extras\Core\FastReport.Data\FastReport.Data.Ignite. Далее плагин требуется зарегистрировать. Это можно сделать двумя способами.  Способ 1. С помощью кода. Скопируйте следующий код и вставьте в свой проект. Это необходимо сделать всего один раз при запуске приложения. FastReport.Utils.RegisteredObjects.AddConnection(typeof(IgniteDataConnection)); Способ 2. С помощью дизайнера отчетов. Для подключения коннектора в дизайнере необходимо перейти в меню «Файл|Настройки...» в Ribbon интерфейсе (меню «Вид|Настройки...» в стандартном интерфейсе). В открывшемся окне выбрать вкладку «Плагины» и добавить собранную .dll плагина как показано ниже.     После добавления плагина необходимо выполнить перезапуск дизайнера FastReport .NET.     Как подключить источник данных в дизайнере Для создания подключения к Apache Ignite необходимо перейти в меню «Данные» и выбрать пункт «Новый источник данных».    В появившемся окне нажмите на кнопку «Новое подключение» затем в выпадающем списке типов подключения кликните на вариант «Подключение к Apache Ignite». В появившемся окне укажите адрес(а) узлов, имя пользователя и пароль (при наличии).   Если соединение выполнено успешно, то на следующем шаге появится список таблиц (кэшей), содержащихся в указанных на предыдущем шаге узлах:     Различия при работе с кэшами в плагине Плагин поддерживает работу с кэшами, созданными как ключ-значение, так и как SQL-таблицы.  Способ создания и конфигурации кэша в Apache Ignite напрямую влияет на состав полей и отображение типов данных. В зависимости от выбранного метода (например, использование классов с атрибутами [QuerySqlField], программное определение через QueryEntity или работа с динамическими данными), результат может отличаться. Это касается как списка доступных полей, так и их типов данных. В следующих примерах кода будут использоваться фрагменты из официальных примеров функционала Apache Ignite. Эти примеры можно скачать по этой ссылке в разделе BINARY RELEASES: https://ignite.apache.org/download.cgi.  Откроем полученный архив и переместимся в следующую папку: ..\apache-ignite-2.17.0-bin\platforms\dotnet\examples\Thin Из этих примеров используем пользовательский класс Organization, который представляет модель данных организации. Этот класс содержит следующие свойства: Name: Название организации. Помечено атрибутом [QuerySqlField(IsIndexed = true)], что позволяет использовать его в SQL-запросах и создает индекс для ускорения поиска. Address: Адрес организации, представленный вложенным объектом типа Address. Также доступен для SQL-запросов благодаря атрибуту [QuerySqlField]. Type: Тип организации (например, коммерческая или некоммерческая), представленный перечислением OrganizationType. LastUpdated: Временная метка, указывающая, когда данные об организации были обновлены последний раз. Полный код класса можно найти в папке:  ..\apache-ignite-2.17.0-bin\platforms\dotnet\examples\Shared\Models     Создание кэша с использованием QueryEntity QueryEntity — это компонент Apache Ignite, который позволяет программно описать структуру данных (схему) для кэша и задать поля с их типами вручную.  Для кэшей с метаданными (QueryEntity) поддерживаются операции получения списка полей и их типов данных. Пользовательские типы данных обрабатываются следующим образом: В списке полей отображаются только поля, помеченные атрибутом [QuerySqlField]. Поля представлены в формате тип_данных.имя_поля. Например, если на стадии настройки кэш создан следующим образом: var organizationCache = ignite.GetOrCreateCache<int, Organization>(new CacheClientConfiguration("dotnet_cache_query_organization", new QueryEntity(typeof(int), typeof(Organization)))); То при подключении в FastReport к уже готовому экземпляру Apache Ignite, список полей будет включать только те поля из класса Organization, которые помечены атрибутом [QuerySqlField].   Однако, при просмотре данных будут отображаться все поля из кэша:     Создание кэша без QueryEntity Если кэш на стадии настройки создан без использования QueryEntity, то типы данных всех полей будут определены как string. Пример кода: ICacheClient<int, Organization> cache = ignite.GetCache<int, Organization>("dotnet_cache_put_get"); В списке полей будут отображаться все доступные поля, независимо от наличия атрибута [QuerySqlField]. Это второй способ создания кэша.     Работа с кэшами, созданными как SQL-таблицы Рассмотрим наконец и третий способ работы с кэшами. Перед вами пример создания и заполнения кэша как SQL-таблицы: 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")); Для таких кэшей метаданные (QueryEntity) содержат информацию о типах данных для каждого поля.    В кэше Apache Ignite могут храниться данные, у которых отсутствуют явно заданные имена полей. Например:  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); При подключении в FastReport к экземпляру Apache Ignite (с кодом из примера выше) вы увидите следующий результат.   В этом примере: Поля Street и Zip из пользовательского класса Address имеют имена, так как они определены в структуре класса. Значения, такие как число 942.28956 или строка "test String", не имеют имен, поскольку они добавлены в кэш как простые объекты типа "ключ-значение". Для полей, у которых отсутствует имя, генерируются уникальные идентификаторы.     Заключение Мы рассмотрели, как настроить подключение к Apache Ignite в FastReport .NET. Следуя представленным шагам, вы сможете интегрировать эти системы и использовать все возможности Apache Ignite в качестве источника данных для отчетов. Apache Ignite обеспечивает быстрый доступ к данным и их обработку, а FastReport .NET позволяет создавать мощные отчеты. Их интеграция открывает новые горизонты для анализа и визуализации данных. Надеемся, что эта статья была полезной и поможет вам эффективно использовать Apache Ignite в ваших проектах с FastReport .NET.
Читать
25 марта 2025

Как объединить несколько отчетов в один из FastReport .NET

FastReport .NET — это мощный инструмент для создания и управления отчётами, который широко используется в различных областях. Он предоставляет разработчикам возможность создавать сложные и профессиональные отчёты с использованием множества функций и возможностей. Одной из ключевых функций FastReport .NET является возможность объединения нескольких отчётов в один. Это может быть полезно в ситуациях, когда необходимо объединить данные из разных источников или представить информацию в более удобном формате. В данной статье мы рассмотрим, как объединить несколько отчётов в один в FastReport .NET. Откройте дизайнер отчётов FastReport .NET и загрузите ваш отчет.   После того как дизайнер открыт, выберите пункт меню "Файл" и далее "Открыть страницу".   В файловой системе выберите отчет, который хотите объединить с первым, и загрузите его.   Теперь выберете нужную страницу и нажмите ОК.  Начиная с версии FastReport .NET 2025.1 можно включить опцию "Добавить как ссылку", при этом в отчет будет добавлена не копия страницы, а ссылка на нее. Это значит, что при изменении страницы в оригинальном отчете, изменения будут отражены во всех отчетах, в которые страница добавлена ссылкой. И наоборот, при изменении страницы в одном из отчетов, в котором есть ссылка на нее, она будет изменена и в оригинальном отчете.   Если все прошло успешно вам будут доступны добавленные страницы из выбранного шаблона, внизу дизайнера.   Для объединения их в один отчет вы можете сохранить текущий измененный шаблон, или сохраните в новый шаблон, для этого выберите пункт меню "Файл" и далее "Сохранить как...". Сохраните новый отчет под новым именем.   В этой статье мы подробно рассмотрели, как объединить несколько отчётов в один. Изучили основные инструменты и методы, которые предоставляет FastReport .NET для объединения отчётов, а также разобрались, как эффективно их использовать.
Читать