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