ReportKit 8.6.0
See the version list below for details.
dotnet add package ReportKit --version 8.6.0
NuGet\Install-Package ReportKit -Version 8.6.0
<PackageReference Include="ReportKit" Version="8.6.0" />
<PackageVersion Include="ReportKit" Version="8.6.0" />
<PackageReference Include="ReportKit" />
paket add ReportKit --version 8.6.0
#r "nuget: ReportKit, 8.6.0"
#:package ReportKit@8.6.0
#addin nuget:?package=ReportKit&version=8.6.0
#tool nuget:?package=ReportKit&version=8.6.0
ReportKit
Библиотека для генерации PDF-отчетов с таблицами, текстом и сводкой.
Формат A4, нумерация страниц, профессиональное оформление. На базе QuestPDF.
Установка
dotnet add package ReportKit
Возможности
- PDF-отчеты формата A4
- Заголовки и текстовые блоки
- Таблицы из DataTable (синие заголовки, чередование строк)
- Автоматическая сводка по числовым столбцам: Итого, Среднее, Мин, Макс
- Нумерация страниц в нижнем колонтитуле
- Сохранение в файл или получение массива байтов
Быстрый старт
using ReportKit;
using System.Data;
var dt = new DataTable();
dt.Columns.Add("Должность");
dt.Columns.Add("Зарплата", typeof(decimal));
dt.Rows.Add("Программист C#", 120000m);
dt.Rows.Add("Аналитик", 90000m);
dt.Rows.Add("Менеджер", 85000m);
Report.Create("Отчет по вакансиям")
.AddText("Дата формирования: " + DateTime.Now.ToString("dd.MM.yyyy"))
.AddTable(dt)
.AddSummary("Зарплата")
.AddText("Подготовил: Иванов И.И.")
.SavePdf("report.pdf");
API-справочник
Report.Create(title)
Создает новый отчет с заголовком.
var report = Report.Create("Отчет по вакансиям за январь 2025");
.AddText(text)
Добавляет текстовый блок в отчет.
.AddText("Дата: " + DateTime.Now.ToString("dd.MM.yyyy"))
.AddText("Организация: ООО Рога и Копыта")
.AddTable(dataTable)
Добавляет таблицу из DataTable. Автоматическое оформление:
- Синие заголовки столбцов с белым текстом
- Чередование цвета строк для удобства чтения
- Автоподстройка ширины столбцов
.AddTable(dt)
.AddSummary(columnName)
Добавляет строку сводки по числовому столбцу. Выводит:
- Итого — сумма всех значений
- Среднее — среднее арифметическое
- Мин — минимальное значение
- Макс — максимальное значение
.AddSummary("Зарплата")
// Итого: 295 000 Среднее: 98 333 Мин: 85 000 Макс: 120 000
.SavePdf(filePath)
Сохраняет отчет в PDF-файл.
.SavePdf("reports/vacancies_report.pdf")
.ToPdfBytes()
Возвращает отчет как массив байтов (для отправки по сети, сохранения в БД и т.д.).
byte[] pdfBytes = Report.Create("Отчет")
.AddTable(dt)
.ToPdfBytes();
File.WriteAllBytes("report.pdf", pdfBytes);
Практический пример: Отчет по вакансиям для руководства
Сценарий: руководитель службы занятости запрашивает ежемесячный отчет с перечнем вакансий, зарплатами и итоговыми показателями.
using ReportKit;
using System.Data;
// Получаем данные из БД
var dt = new DataTable();
dt.Columns.Add("Должность");
dt.Columns.Add("Предприятие");
dt.Columns.Add("Зарплата", typeof(decimal));
dt.Columns.Add("Опыт (лет)", typeof(int));
dt.Rows.Add("Программист C#", "ООО ИТ-Сервис", 120000m, 3);
dt.Rows.Add("Бухгалтер", "АО Финансы", 65000m, 2);
dt.Rows.Add("Менеджер по продажам", "ООО Торг-Опт", 70000m, 1);
dt.Rows.Add("Системный администратор", "ООО ИТ-Сервис", 90000m, 5);
dt.Rows.Add("Аналитик данных", "АО Финансы", 95000m, 2);
Report.Create("Отчет по вакансиям — Январь 2025")
.AddText("Служба занятости населения")
.AddText("Дата формирования: " + DateTime.Now.ToString("dd.MM.yyyy"))
.AddText("")
.AddTable(dt)
.AddSummary("Зарплата")
.AddText("")
.AddText("Всего вакансий: " + dt.Rows.Count)
.AddText("Подготовил: Петров А.С.")
.SavePdf("vacancy_report_january.pdf");
Результат: PDF-файл формата A4 с заголовком, таблицей, строкой сводки (Итого, Среднее, Мин, Макс по зарплате) и подписью.
Лицензия
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- QuestPDF (>= 2024.12.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on ReportKit:
| Package | Downloads |
|---|---|
|
ISBuilder
Information System Builder — full toolkit for building .NET 8 WinForms applications with EF Core, SQL Server. Export, CRUD, forms, charts, auth, reports, validation, themes. |
GitHub repositories
This package is not used by any popular GitHub repositories.