У цій статті розглядається проблема форматування необроблених даних JSON у презентабельний і зрозумілий формат звіту в програмі .NET. Ми будемо конвертувати дані JSON у звіти PDF і DOCX на C# за допомогою простих шаблонів.

Створіть звіт PDF або Word із JSON у CSharp

.NET API для створення звітів

GroupDocs.Assembly for .NET — це API для створення звітів і автоматизації документів для програм .NET. Це дозволяє створювати звіти з даних, доступних у різних форматах, таких як JSON, XML або CSV, і шаблону в багатьох різних форматах, таких як документ Word, електронна таблиця, презентація або текстовий формат. Він також підтримує багато функцій форматування звітів, таких як маркери, нумеровані списки, діаграми, таблиці, зображення, штрих-коди тощо.

Ви можете завантажити DLL або інсталятор MSI із розділу завантажень або встановити API у своїй програмі .NET за допомогою NuGet.

PM> Install-Package GroupDocs.Assembly

Створення PDF-звіту з даних JSON у C#

Давайте почнемо з кроків, які допоможуть вам перетворити дані JSON у відформатований PDF-звіт у C#.

  • Отримати джерело даних JSON
  • Визначте шаблон відповідно до даних JSON
  • Надайте джерело даних JSON і шаблон для простого коду C# для створення звіту.

Дані JSON

По-перше, наведений нижче зразок даних JSON використовується для генерації звіту PDF, який показує менеджерів та їхніх відповідних клієнтів і деталі.

\[
	{
		"Name":"John Smith","Contract":\[
		{"Client":{"Name":"A Company"},"Price":1200000},
		{"Client":{"Name":"B Ltd."},"Price":750000},
		{"Client":{"Name":"C & D"},"Price":350000}\]
	},
	{
		"Name":"Tony Anderson","Contract":\[
		{"Client":{"Name":"E Corp."},"Price":650000},
		{"Client":{"Name":"F & Partners"},"Price":550000}\]
	},
	{
		"Name":"July James","Contract":\[
		{"Client":{"Name":"G & Co."},"Price":350000},
		{"Client":{"Name":"H Group"},"Price":250000},
		{"Client":{"Name":"I & Sons"},"Price":100000},
		{"Client":{"Name":"J Ent."},"Price":100000}\]
	}
\]

Шаблон

По-друге, визначте наступний шаблон у форматі TXT, DOCX або у потрібному форматі. Це дозволяє повторювати дані Менеджерів та їхніх відповідних Клієнтів та їхні деталі. Після цього можна переходити до коду для створення звіту.

<<foreach [in managers]>>Manager: <<[Name]>>
Contracts:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>

Кроки C# для перетворення JSON у звіт PDF

Наступні кроки коду C# автоматизують перетворення даних JSON у звіт PDF відповідно до визначеного шаблону.

  • Визначте шляхи до даних JSON, файлу шаблону та вихідного файлу звіту PDF.
  • Створіть JsonDataSoure з файлом даних JSON.
  • Створіть DataSourceInfo із визначеним JsonDataSource.
  • Викличте метод AssembleDocument класу DocumentAssembler, щоб створити звіт PDF із наданих даних JSON і визначеного шаблону.
// Створення PDF-звіту з даних JSON за допомогою шаблону TXT у C# за допомогою GroupDocs.Assembly API
// Визначте джерело даних, шаблон і файли вихідних звітів.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.txt";
const string strDocumentReport = "reportsPath/reportFromJSON.pdf";
// Створення екземпляра джерела даних JSON
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// Створити звіт
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
    CommonUtilities.SetDestinationDocument(strDocumentReport),
    new DataSourceInfo(dataSource, "managers"));

Код створить звіт PDF, як показано на малюнку вище. Ви також можете протестувати вищезгадані та подібні приклади з репозиторію GitHub.

Створення звіту MS Word із даних JSON у C#

Подібно до створення звіту PDF вище, ви можете створити звіт DOCX, виконавши такі дії:

  • Визначення того самого шаблону у форматі DOCX.
  • Встановіть вихідний формат документа звіту як DOCX.
  • Решта коду залишиться незмінною для створення звіту MS Word DOCX із даних JSON.
// Створення звіту Word із даних JSON за допомогою шаблону DOCX у C# за допомогою GroupDocs.Assembly API
// Визначте джерело даних, шаблон і файли вихідних звітів.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.docx";
const string strDocumentReport = "reportsPath/reportFromJSON.docx";
// Створення екземпляра джерела даних JSON
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// Створити звіт
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
    CommonUtilities.SetDestinationDocument(strDocumentReport),
    new DataSourceInfo(dataSource, "managers"));

Щоб отримати додаткові відомості, параметри та приклади, відвідайте документацію та репозиторій GitHub. Щоб отримати додаткові запитання, зверніться до безкоштовної служби підтримки на форумі.

Висновок

У цій статті ви навчилися перетворювати дані JSON у звіт PDF у програмі .NET за допомогою C#. Крім того, ви можете створювати звіти в інших форматах, наприклад DOCX, використовуючи інші джерела даних, наприклад CSV і XML. Сподіваюся, ви почуватиметеся комфортно, починаючи створювати програму для створення звітів .NET.

Дивись також