В этой статье рассматривается проблема форматирования необработанных данных JSON в презентабельный и понятный формат отчета в приложении .NET. Мы будем конвертировать данные JSON в отчеты PDF и DOCX на C#, используя простые шаблоны.
.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# с API GroupDocs.Assembly
// Определите источник данных, шаблон и файлы выходных отчетов.
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# с API GroupDocs.Assembly
// Определите источник данных, шаблон и файлы выходных отчетов.
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 для создания отчетов.