บทความนี้กล่าวถึงปัญหาการจัดรูปแบบข้อมูลดิบ JSON ให้เป็นรูปแบบรายงานที่เข้าใจได้ง่ายภายในแอปพลิเคชัน .NET เราจะแปลงข้อมูล JSON เป็น PDF และรายงาน DOCX ใน C# โดยใช้เทมเพลตอย่างง่าย

สร้าง PDF หรือ Word Report จาก JSON ใน CSharp

.NET API สำหรับการสร้างรายงาน

GroupDocs.Assembly for .NET คือการสร้างรายงานและ API การทำงานอัตโนมัติของเอกสารสำหรับแอปพลิเคชัน .NET ช่วยให้คุณสร้างรายงานจากข้อมูลที่มีอยู่ในรูปแบบต่างๆ เช่น JSON, XML หรือ CSV และเทมเพลตในรูปแบบต่างๆ มากมาย เช่น เอกสาร Word, สเปรดชีต, งานนำเสนอ หรือรูปแบบข้อความ นอกจากนี้ยังรองรับคุณสมบัติการจัดรูปแบบรายงานมากมาย เช่น สัญลักษณ์แสดงหัวข้อย่อย รายการลำดับเลข แผนภูมิ ตาราง รูปภาพ บาร์โค้ด เป็นต้น

คุณสามารถดาวน์โหลดโปรแกรมติดตั้ง DLLs หรือ 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 repository

สร้างรายงาน MS Word จากข้อมูล JSON ใน C#

เช่นเดียวกับการสร้างรายงาน PDF ด้านบน คุณสามารถสร้างรายงาน DOCX โดยทำตามขั้นตอนเหล่านี้:

  • การกำหนดเทมเพลตเดียวกันในรูปแบบ DOCX
  • กำหนดรูปแบบเอกสารรายงานผลลัพธ์เป็น DOCX
  • รหัสที่เหลือจะยังคงเหมือนเดิมเพื่อสร้างรายงาน MS Word DOCX จากข้อมูล JSON
// สร้าง Word Report จากข้อมูล 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

ดูสิ่งนี้ด้วย