این مقاله به مشکل قالب‌بندی داده‌های خام JSON در قالب گزارش قابل ارائه و قابل درک در برنامه دات‌نت می‌پردازد. ما داده های JSON را با استفاده از قالب های ساده به گزارش های PDF و DOCX در C# تبدیل خواهیم کرد.

گزارش PDF یا Word را از JSON در CSharp ایجاد کنید

NET API برای تولید گزارش

GroupDocs.Assembly for .NET API تولید گزارش و اتوماسیون اسناد برای برنامه های NET است. این به شما امکان می دهد تا از داده های موجود در قالب های مختلف مانند JSON، XML یا CSV و قالب در بسیاری از قالب های مختلف مانند سند Word، صفحه گسترده، ارائه یا قالب متن گزارش تولید کنید. همچنین از بسیاری از ویژگی های قالب بندی گزارش مانند گلوله ها، لیست های شماره گذاری شده، نمودارها، جداول، تصاویر، بارکدها و غیره پشتیبانی می کند.

می‌توانید نصب‌کننده DLL یا MSI را از بخش دانلودها دانلود کنید یا از طریق NuGet API را در برنامه دات‌نت خود نصب کنید.

PM> Install-Package GroupDocs.Assembly

ایجاد گزارش PDF از داده های JSON در سی شارپ

بیایید با مراحلی شروع کنیم که شما را به تبدیل داده های 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 در سی شارپ

به طور مشابه، مانند تولید گزارش 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 دیدن کنید. برای سؤالات بیشتر، با پشتیبانی رایگان در [فروم 11 تماس بگیرید.

نتیجه

در این مقاله، یاد گرفتید که با استفاده از سی شارپ، داده های JSON خود را به گزارش PDF در برنامه .NET خود تبدیل کنید. علاوه بر این، می‌توانید گزارش‌هایی را در قالب‌های دیگر مانند DOCX با استفاده از منابع داده دیگر مانند CSV و XML ایجاد کنید. امیدوارم با شروع ساختن برنامه .NET مولد گزارش خود احساس راحتی کنید.

همچنین ببینید