logo
small logo
  • Продукты
  • Купить
  • Поддержка
  • О нас
  • Клиентская панель Поддержка
  • Главная
  • /
  • Статьи
  • /
  • Создание PDF отчета в JetBrains Rider (C#) на Windows 11
  • Работа с NuGet пакетами FastReport

    22 ноября 2021 г.

    UPD: Актуально до версии FastReport .NET 2022.2. Теперь лицензионные пакеты доступны на нашем NuGet-сервере.

    Подробнее
  • Семейство генераторов отчетов FastReport - быстрый обзор

    23 марта 2020 г.

    Отчетность – без нее невозможно вести деятельность ни в одной сфере жизнедеятельности. Бюрократия является неодолимой

    Подробнее
  • Как отобразить много отчетов на одной странице в Blazor

    12 июля 2022 г.

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

    Подробнее
  • Закончилась эпоха WinForms, началась FastReport.Core.Skia

    6 сентября 2022 г.

    Для создания качественных отчётов и корректного экспорта их в разные форматы (PDF, Word, Excel и

    Подробнее
  • Как сделать чек из программы Windows Forms

    30 мая 2020 г.

    Приложения Windows Forms - это основа каждого .NET разработчика. Сколько таких приложений создается каждый день

    Подробнее

Создание PDF отчета в JetBrains Rider (C#) на Windows 11

19 декабря 2022 г.

В этой статье мы взглянем на мир платформы .NET в Windows 11 без использования Microsoft Visual Studio, и создадим отчет, который можно экспортировать в формат PDF. Аналог Visual Studio на данный момент – конечно же JetBrains Rider. Это кроссплатформенная интегрированная среда разработки программного обеспечения для платформы .NET, разрабатываемая компанией JetBrains. Поддерживаются языки программирования C#, VB.NET и F#.

Мы не будем здесь обсуждать, какая IDE лучше или хуже. Поэтому просто создадим, построим, и экспортируем отчет/документ формата PDF из JetBrains Rider с использованием FastReport .NET.

Что нужно для начала? Как минимум необходимо иметь на своем ПК установленную IDE JetBrains Rider. Далее создадим новое решение, выбрав «New Solution».

Приветственная форма IDE JetBrains Rider

Следом идёт настройка проекта. Выбираем тип проекта Desktop Application в разделе .NET/ .NET Core. Затем даём название проекту, в качестве примера используем «ReportPDF_Core_WinFormsApp». После нажимаем на тип Windows Forms App, язык C#, фреймворк NET 7.0.

Форма настройки проекта перед созданием

Начнем с того, что добавим простой пример набора данных для нашего отчета, в коде нашего приложения. Для этого в Form1.cs добавим:

 using System.Data;

Следом добавим приватное поле класса Form1:

private DataSet _fDataSet = new DataSet();

Добавим приватный метод CreateDataSet, в котором создадим и заполним набор данных:

 private void CreateDataSet()
 {
 // создаем простой набор данных с помощью одной таблицы
 // создаем простой набор данных
 _fDataSet = new DataSet();
 // создаем таблицу
 DataTable table = new DataTable();
 table.TableName = "Сотрудники";
 // добавляем таблицу в набор данных
 _fDataSet.Tables.Add(table);
 // добавление данных в таблицу 
 table.Columns.Add("ID", typeof(int));
 table.Columns.Add("Имя", typeof(string));
 
 table.Rows.Add(1, "Андрей Иванов");
 table.Rows.Add(2, "Николай Федоров");
 table.Rows.Add(3, "Александр Петров");
 }

И добавляем вызов метода CreateDataSet:

public Form1()
 {
 InitializeComponent();
 CreateDataSet();
 }

Какой самый простой способ заставить работать FastReport .NET в JetBrains Rider? Использовать наш Приватный NuGet-сервер Fast Reports.

По этой статье описано добавление NuGet-пакетов после приобретения FastReport .NET. Вот для вас краткая инструкция, чтобы не переходить в другую статью. Нажимаем внизу IDE на вкладку NuGet, а кликаем по вкладке Sources.

Форма настройки NuGet

Теперь добавляем новый репозиторий с помощью нажатия на «+» и вносим необходимые данные:

- Name - имя источника без пробелов (например FR-Nuget);
- URL - https://nuget.fast-report.com/api/v3/index.json;
- User - email от аккаунта Fast Reports;
- Password - пароль от аккаунта Fast Reports.

Форма для добавления репозитория NuGet

И вы увидите, что появился соответствующий репозиторий:

Добавлен репозиторий FR-NuGet

Сейчас мы установим пакет FastReport.Pro. Для этого переходим во вкладку Packages и фильтруем пакеты по репозиторию FR-Nuget. И конечно же устанавливаем найденный пакет.

Установка NuGet-пакета FastReport.Net.Pro

Если все прошло успешно, то вы получите соответствующее уведомление. 

Уведомление об успешной установке NuGet-пакета FastReport.Net.Pro

Если вам необходим перевод дизайнера FastReport .NET на русский язык, то установите пакет FastReport.Localization.

Далее добавим в Form1.cs:

using FastReport;
using FastReport.Export.Pdf;

Далее вставим новые 3 кнопки в приложение: «Дизайн отчета», «Экспорт в PDF с диалоговым окном», и «Бесшумный экспорт». Для этого нужно внести соответствующие изменения в Form1.Designer.cs:

private void InitializeComponent()
 {
 this.components = new System.ComponentModel.Container();
 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
 this.ClientSize = new System.Drawing.Size(800, 450);
 this.Text = "Form1";
 this.btnExportWithDialog = new System.Windows.Forms.Button();
 this.btnSilentExport = new System.Windows.Forms.Button();
 this.btnShowDesigner = new System.Windows.Forms.Button();
 this.SuspendLayout();
 // 
 // btnExportWithDialog
 // 
 this.btnExportWithDialog.Location = new System.Drawing.Point(44, 148);
 this.btnExportWithDialog.Name = "btnExportWithDialog";
 this.btnExportWithDialog.Size = new System.Drawing.Size(208, 23);
 this.btnExportWithDialog.TabIndex = 0;
 this.btnExportWithDialog.Text = "Экспорт в PDF с диалоговым окном";
 this.btnExportWithDialog.UseVisualStyleBackColor = true;
 this.btnExportWithDialog.Click += new System.EventHandler(this.btnExportWithDialog_Click);
 // 
 // btnSilentExport
 // 
 this.btnSilentExport.Location = new System.Drawing.Point(44, 180);
 this.btnSilentExport.Name = "btnSilentExport";
 this.btnSilentExport.Size = new System.Drawing.Size(208, 23);
 this.btnSilentExport.TabIndex = 0;
 this.btnSilentExport.Text = "Бесшумный экспорт";
 this.btnSilentExport.UseVisualStyleBackColor = true;
 this.btnSilentExport.Click += new System.EventHandler(this.btnSilentExport_Click);
 // 
 // btnShowDesigner
 // 
 this.btnShowDesigner.Location = new System.Drawing.Point(44, 87);
 this.btnShowDesigner.Name = "btnShowDesigner";
 this.btnShowDesigner.Size = new System.Drawing.Size(208, 23);
 this.btnShowDesigner.TabIndex = 1;
 this.btnShowDesigner.Text = "Дизайн отчета";
 this.btnShowDesigner.UseVisualStyleBackColor = true;
 this.btnShowDesigner.Click += new System.EventHandler(this.btnShowDesigner_Click);
 // 
 // Form1
 // 
 this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
 this.ClientSize = new System.Drawing.Size(292, 266);
 this.Controls.Add(this.btnShowDesigner);
 this.Controls.Add(this.btnSilentExport);
 this.Controls.Add(this.btnExportWithDialog);
 this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
 this.Name = "Form1";
 this.Text = "Экспорт в PDF";
 this.ResumeLayout(false);
 }
 #endregion
 private System.Windows.Forms.Button btnExportWithDialog;
 private System.Windows.Forms.Button btnSilentExport;
 private System.Windows.Forms.Button btnShowDesigner;

Пропишем обработчик клика кнопки «Дизайн отчета» с помощью этого кода:

 private void btnShowDesigner_Click(object sender, EventArgs e)
 {
 // создаем экземпляр отчета
 Report report = new Report();
 // загружаем существующий отчет
 //report.Load(@"..\..\..\Отчет.frx");
 // зарегистрируем набор данных
 report.RegisterData(_fDataSet);
 // запускаем дизайнер
 report.Design();
 // освобождаем ресурсы, используемые отчетом
 report.Dispose();
 }

Запускаем приложение и наблюдаем нашу форму с 3 кнопками.

Форма разрабатываемого приложения

Нажимаем на кнопку «Дизайн отчета» и переходим в дизайнер FastReport .NET.

Дизайнер FastReport .NET

Добавим в шаблон отчета поля из набора данных с помощью перетаскивания, а затем дополним отчет заголовком «Сотрудники». После устанавливаем текстовым объектам свойство AutoWidth = true.

Редактирование шаблона отчета в дизайнере FastReport .NET

Сохраним наш шаблон отчета с названием «Отчет» в папке с проектом ReportPDF_Core_WinFormsApp. После сохранения закрываем дизайнер и наше приложение. Раскомментируем строку в методе btnExportWithDialog_Click для того, чтобы наш сохраненный отчет загружался при открытии дизайнера:

 report.Load(@"..\..\..\Report.frx");

Добавим обработчик клика кнопки «Экспорт в PDF» с диалоговым окном:

 private void btnExportWithDialog_Click(object sender, EventArgs e)
 {
 // создаем экземпляр отчета
 Report report = new Report();
 // загружаем существующий отчет
 report.Load(@"..\..\..\Отчет.frx");
 // зарегистрируем набор данных
 report.RegisterData(_fDataSet); 
 // запускаем отчет
 report.Prepare();
 // создаем экземпляр экспорта
 PDFExport export = new PDFExport();
 export.Export(report);
 // освобождаем ресурсы, используемые отчетом
 report.Dispose();
 }

Запускаем проект и нажимаем на кнопку «Экспорт в PDF с диалоговым окном»:

Диалоговая форма настроек экспорта PDF

Откроется диалоговое окно с настройками экспорта отчета в PDF. Выбираем пункт «Открыть после экспорта» и кликаем по «ОК». Сохраняем в папку проекта PDF под названием «Отчет». После завершения экспорта автоматически откроется PDF файл:

Результат экспорта отчета в PDF

Таким образом мы получили простой отчет/документ формата PDF, построенный из набора данных.

Дополнительно ещё рассмотрим вариант экспорта в PDF без диалоговых окон, так называемый «бесшумный экспорт». Добавим обработчик клика кнопки «Бесшумный экспорт»:

 private void btnSilentExport_Click(object sender, EventArgs e)
 {
 // создаем экземпляр отчета
 Report report = new Report();
 // загружаем существующий отчет
 report.Load(@"..\..\..\Отчет.frx");
 // зарегистрируем набор данных
 report.RegisterData(_fDataSet);
 // запускаем отчет
 report.Prepare();
 // создаем экземпляр экспорта
 PDFExport export = new PDFExport();
 // открытие после экспорта
 export.OpenAfterExport = true; 
 // экспортируем отчет
 report.Export(export, "Результат.pdf");
 // освобождаем ресурсы, используемые отчетом
 report.Dispose();
 }

Запускаем проект и нажимаем на кнопку «Бесшумный экспорт». Произойдёт мгновенный экспорт и откроется PDF файл с названием «Результат», который лежит рядом с вашим exe запущенного проекта:

Результат бесшумного экспорта отчета в PDF

В данной статье мы с вами рассмотрели связку JetBrains Rider (C#) + .NET Core + WinFornms + FastReport .NET + Windows 11 и получили отчет, построенный из набора данных в формате PDF. И конечно мы убедились, что платформу .NET можно легко использовать без Microsoft Visual Studio.

О продукте Купить
avatar
Alexander Syrykh
Поддержка и тестирование
Fast Reports Team: Alexander Syrykh - Quality Assurance at Fast Reports
.NET PDF C# Report Windows JetBrains Rider

Добавить комментарий
logo
  • +7(800)551-75-80
  • info@fastreport.ru
  • Ростов-на-Дону, Россия, 344082, ул.Обороны 24, офис 311
  • Купить
  • Загрузить
  • Документация
  • Отзывы
  • Как деинсталировать
  • FAQ
  • Видео уроки
  • Форум
  • Условия оказания поддержки
  • Статьи
  • Наши Новости
  • Пресса о нас
  • Реселлеры
  • Нестандартное лицензирование
  • ВУЗам
  • Карьера
  • Контакты

© 1998-2023 ООО «Быстрые отчеты»

  • Согласие с обработкой персональных данных
  • Не является публичной офертой