FastReport .NET WPF

Набор компонентов с высокой производительностью для создания отчетов и документов в WPF проектах

Какие отчеты можно сделать из FastReport .NET WPF?

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

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

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

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

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

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

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

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

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

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

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

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

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

Сортировка, фильтрация данных и master-detail отношения настраиваются в несколько кликов, что делает процесс создания отчетов быстрым и эффективным.

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

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

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

Функционал печати также впечатляет. Доступны настройки разрезания больших страниц отчета на малые, печати нескольких малых страниц на одной большой и печати на заданном формате с масштабированием. Это решает распространенную проблему печати отчетов формата A3 на стандартных принтерах формата A4.

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

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

FastReport .NET WPF обеспечивает широкие возможности экспорта отчетов в разнообразные форматы, удовлетворяя любые потребности. Вы можете экспортировать отчеты в 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 и другие популярные форматы. Компонент поддерживает интеграцию с облачными хранилищами, такими как OneDrive, Google Drive, Box, Dropbox, МоиОтчеты Облако, что позволяет легко и удобно сохранять и делиться отчетами.

FastReport .NET WPF также предоставляет удобную функцию преобразования отчетов с редактируемыми полями в PDF-документы. Это позволяет создавать интерактивные отчеты, которые можно заполнять и отправлять по электронной почте. Поддерживаются стандартные форматы 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 продукты для быстрой обработки больших массивов данных.

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

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

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

8 ноября 2023

Как подключить FastReport используя приложение WPF

С долгожданным релизом FastReport WPF больше не нужно использовать FastReport .NET для работы с проектами на основе WPF. Не так давно, в FastReport .NET было немного неудобно использовать WPF. Не всегда что-то работало, были проблемы с подключением FastReport.dll и многое другое. Мы переосмыслили подход и сделали процесс более удобным и практичным. Давайте же узнаем про новый способ. Для начала нам необходимо создать приложение WPF. Заходим в Visual Studio и в нем создаем проект. После создания подключим нужный NuGet пакет. Нас интересует FastReport.WPF. Его можно получить, используя наш приватный NuGet сервер. После того, как мы подключили нужный NuGet пакет, нам необходимо подключить пространство имен. Напишем код в WPF форме: xmlns:Designer="clr-namespace:FastReport.Design;assembly=FastReport.WPF" Следом будем создавать Designer Control. Для начала открываем и закрываем теги DockPanel и в них уже создаем сам Designer. У нас должно получиться как на следующем примере: <DockPanel> <Designer:WpfDesignerControl x:Name="designer" Loaded="designer_Loaded"/> </DockPanel> Если посмотреть целиком код формы, то у нас должно получиться следующее: Если взглянуть на форму, то мы увидим, что у нас появился дизайнер, он нам и нужен. Это значит, что мы движемся в верном направлении. Можем смело запускать наш проект. После загрузки мы увидим уже готовый к работе дизайнер. Подключение FastReport к приложению WPF стало гораздо удобнее. Больше не нужно делать промежуточный код для запуска WPF приложений с WinForms компонентами из FastReport .NET.
Читать
11 октября 2023

Сравнение технологий WinForms и WPF

Мы хотели бы рассказать про две графические системы, которые используются в составе .NET. В наше время активно используются WinForms и WPF. Возникает вопрос какую же технологию использовать в разработке приложения. Мы рассмотрим подробно каждую систему, плюсы и минусы, а также расскажем об особенностях использования в продуктах FastReport .NET и FastReport WPF. Перейдём же непосредственно к сравнению. WinForms В начале поговорим об уже считающейся классикой старой системе WinForms. Данная система была выпущена в далеком 2002 году на базе Framework 1.0, и предоставляет собой “традиционный” способ создания десктоп приложений. У нас имеются базовые элементы по типу “Кнопка”, “Текстовый объект”, “Текстовое поле” и т.д., которые можно настраивать почти, как угодно. Это в целом довольно удобно, но, к сожалению, мы не сможем создать современный дизайн приложения, что может не устроить либо нас, либо клиентов. В наше время есть довольно много приложений, которые используют WinForms, например, FastReport .NET. Но стоит учитывать, что зачастую, подобные приложения разрабатывались и поддерживались большое кол-во времени. И это уже по большей части вынужденная мера, ведь внешний вид приложения играет действительно важную роль. Плюсы и минусы:+ Технология практически вся протестирована и лучше испытана, что дает надежность.+ Существует множество готовых решений и элементов управления.+ Простота и интуитивное понятие при создании приложения.- Не отвечает современным стандартам разработки.- Нет активной поддержки. WPF А вот тут уже всё намного интереснее. Вышла технология WPF тоже давно, в 2006 году, на базе Framework 3.0. Но имеет кардинальное различие в ходе разработки. Здесь теперь нет привычных элементов, которые мы можем поставить в форму и настроить их. Нам теперь придется писать код на XAML, чтобы поставить ту же кнопку или текстовый объект. И действительно, намного удобнее просто перетащить нужный объект и настроить его, чем с нуля все это прописывать и настраивать. В данном случае мы получаем даже преимущество. Но как? Сейчас рассмотрим. Возьмем пример, где будет кнопка с изображением и текстом. WinForms не предоставляет готовых решений. Поэтому вам нужно самим создавать изображения и реализовывать собственные кнопки, поддерживающие изображения, либо использовать готовое нестандартное решение. Кнопка в WPF может иметь внутри что угодно, так как это просто "рамка" с контентом внутри себя. Например, нажатие или не нажатие с реакцией на наведение курсором. Таким образом у нас появляется максимальная гибкая настройка, которая может запутать разработчика. С другой стороны, мы получаем от приложения то, что действительно хотим. Плюсы и минусы такого подхода:+ Графическая система более новая и отвечает стандартам разработки.+ Microsoft использует ее во многих своих приложениях, например Visual Studio.+ Более гибкая система настройки.+ Есть готовые решения под любые нужды.+ С помощью XAML можно разделять работу дизайнера и программиста.+ Для лучшей производительности можно использовать аппаратное ускорение.+ Можно создавать интерфейс как для Windows, так и для Web приложений.- Нужно научиться работать с XAML. WinForms и WPF в FastReport И так, мы разобрались в двух графических системах, узнали о их преимуществах и недостатках. Давайте теперь разберем их в FastReport .NET. Основные различия — это способ подключение и визуальные составляющие. В случае WinForms нам нужно подключить FastReport.NET.nupkg или FastReport.dll, написать необходимый код и запустить проект. Или же просто запустить FastReport .NET. В итоге мы получим привычную нам форму. В случае WPF нам нужно подключить пакет FastReport.WPF. И также написать необходимый код и запустить проект. В случае WPF мы получим более современный дизайн и похожий интерфейс. Также хочется отметить, что при использовании WPF у нас есть возможность пользоваться Intellisense от Roslyn, что поможет в написании кода. Таким образом, мы разобрали две графические системы. Какую из них использовать в разработке своего приложения, решать только вам. Лично мы рекомендуем всё же использовать WPF. Да, это может быть неудобно и непривычно после WinForms, но мы получаем дизайн, который будет современный и удобный, а также долгосрочную поддержку WPF.
Читать
17 августа 2020

Как сделать чек из программы WPF

Я думаю каждый разработчик WinForms сталкивался с мыслью, что стандартные элементы управления формами выглядят слишком унитарно, хотелось бы привнести больше дизайна в свое приложение. И, специально для таких случаев, когда нужно специализированное оформление приложения Microsoft создали библиотеку WPF - Windows Presentation Foundation.  Если вы создаете программу учета продаж, вам необходимо формировать документы первичного учета, такие как счета и чеки. Такие документы должны отражать данные из БД. Самым правильным решением будет использование генератора отчета для создания шаблона документа и наполнения его данными. Для интеграции отчетов в приложение WPF, можно использовать библиотеки генератора отчетов. Таким образом, по какому-либо событию можно сформировать и отобразить отчет, а также экспортировать его и отправить на печать. Прежде чем заниматься выводом отчета, необходимо создать его шаблон в дизайнере отчетов. Мы будем использовать генератор отчетов FastReport.Net в этой статье. В товарном чеке будут выводиться данные о покупателе, продавце и проданном товаре. При расчете итоговой стоимости в некоторых странах принято отдельно указывать процент налогового сбора, рассчитывать сумму налогового сбора и финальную сумму с учетом налогового сбора.  Поэтому в нашем примере мы рассмотрим именно такой товарный чек. Так как данные для чека будут браться из базы, то сначала нам, нужно создать подключение к источнику данных. В качестве примера воспользуемся демонстрационной базой данных nwind.xml из поставки FastReport.Net. Потребуются таблицы: Orders, Order Details, Customer, Employee.  Наша задача создать следующий шаблон: Чтобы отображать данные по конкретному заказу из каждой таблицы, все они должны быть связаны. Для этого, в FastReport.Net предусмотрен механизм связывания таблиц по ключам. Таблица Orders связана с Customers и Employees. А Order Details - с Orders и Products.  Связь таблиц - означает, что для конкретной записи заказа, из связанных таблиц будут выбираться записи по идентификатору. Таким образом мы можем взять имя покупателя из таблицы Customers для конкретной записи Orders:   Бэнд «Данные» имеет детальный бэнд, со своим заголовочным и подвальным бэндами. Для детального бэнда «Данные» определен источник Order Details. Эта таблица тоже имеет связи:   Как вы, наверное, предполагали, существует связь с таблицей Orders. А также с таблицей товаров Products, из которой можно взять наименования. Теперь, когда понятно, что основная информация берется из таблицы Orders, а детализирующая информация по товарам из Order Details, мы рассмотрим итоги. Первый итог Line Total (умножение количества товара на цену) рассчитывается простым перемножением полей: [[Order Details.UnitPrice] * [Order Details.Quantity]]. Этот итог рассчитывается для каждого наименования товара.  Далее необходимо суммировать все итоговые суммы в этом столбце и отображать в поле Sub Total. Для этого нужно создать объект итога в окне Данные:   Назовем его Sub Total и зададим свойства в появившемся окне:   Как видите мы использовали функцию сложения для итога. В качестве выражения для данных мы использовали комбинацию из умножения тех же полей, что и в Line Total. Таким образом мы получим сумму всех итогов по всем наименованиям товаров.  В поле с заголовком Tax Rate указывается процентная ставка налогового сбора. В нашем случае она равна 5 процентам. Для поля Tax Due необходимо рассчитать сумму налогового сбора. Формула проста – итог * процентная ставка: [[SubTotal] * 0.05] И, наконец, финальный итог – Total Due. Он состоит из суммы Sub Total и суммы налогового сбора: [[SubTotal] + [SubTotal] * 0.05] На этом создание чека завершено. Необходимо сохранить шаблон отчета в проекте вашего приложения. Например, создайте папку в App_Data в проекте и сохраните в нее шаблон отчета и базу данных nwind.xml. А теперь перейдем к приложению. В приложении  Для отображения отчета в приложении нам потребуется добавить на форму компонент ScrollViewer для возможного скроллирования отчета. Внутрь этого компонента добавим еще один – ListBox. Который будет использоваться для отображения отчета в формате Xaml. На форму программы добавим три кнопки: отображение отчета, экспорт отчета в PDF, печать отчета. Добавим код для каждой из кнопок. Итак, отображение отчета: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 private void Button_Click(object sender, RoutedEventArgs e) { var report = new Report(); report.Load("C:/Users/User/source/repos/WPFInvoice/WPFInvoice/App_Data/invoice.frx"); var data = new DataSet(); data.ReadXml("C:/Users/User/source/repos/WPFInvoice/WPFInvoice/App_Data/nwind.xml");   report.RegisterData(data); report.Prepare(); var export = new XAMLExport(); export.HasMultipleFiles = true;   using (var ms = new MemoryStream()) { export.Export(report, ms); lb.Items.Add(new Frame() { Content = XamlReader.Load(ms) }); } } Здесь, мы создаем объект отчета, загружаем в него созданный нами ран шаблон отчета. Далее создаем источник данных и регистрируем в отчете. Формы в WPF приложениях строятся с помощью языка XMAL. Поэтому и отчет нужно выводить в этом формате. Для этого мы создали экспорт в этот формат и выполнили его. Код для кнопки экспорта отчета в PDF: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 private void PDFExport_Click(object sender, RoutedEventArgs e) { var report = new Report(); report.Load("C:/Users/User/source/repos/WPFInvoice/WPFInvoice/App_Data/invoice.frx"); var data = new DataSet(); data.ReadXml("C:/Users/User/source/repos/WPFInvoice/WPFInvoice/App_Data/nwind.xml");   report.RegisterData(data); report.Prepare(); var export = new PDFExport(); export.HasMultipleFiles = true; using (var fs = new FileStream("C:/Users/User/source/repos/WPFInvoice/WPFInvoice/App_Data/report.pdf", FileMode.Create)) { export.Export(report, fs); } } Принцип здесь тот же самый, что и с отображением отчета, только мы не добавляем полученный в результате экспорта результат на форму, а сохраняем в папку. Код для кнопки печати отчета: 1 2 3 4 5 6 7 8 private void Print_Click(object sender, RoutedEventArgs e) { PrintDialog printDialog = new PrintDialog(); if (printDialog.ShowDialog() == true) { printDialog.PrintVisual(lb, "Print the report"); } } Перед печатью отчета, нужно предварительно отобразить его с помощью первой кнопки. По нажатию на кнопку будет вызван диалог печати и распечатано содержимое ListBox. А теперь запустим приложение и нажмем кнопку Show: Теперь вы можете не только просмотреть созданный чек, но и сохранить его в формате PDF, а также распечатать! Вы можете изменить экспорт на любой из доступных в FastReport: HTML, BMP, PNG, JPEG, GIF, TIFF, EMF, PDF, XLSX, DOCX, PPTX, ODS, ODT, RTF, Text, XPS, XML, XAML, PS, PPML, LaTeX, Json, Dbf, Csv, XLS (Biff8), SVG, ZPL.
Читать