JSON เป็นรูปแบบการแลกเปลี่ยนข้อมูลที่จัดรูปแบบและอ่านได้เพื่อส่งข้อมูลพร้อมแอตทริบิวต์ อย่างไรก็ตาม ข้อมูลขนาดใหญ่ในรูปแบบ JSON ไม่สามารถนำเสนอและเข้าใจได้ง่าย เราจำเป็นต้องแปลงข้อมูล JSON ขนาดใหญ่เป็นรูปแบบที่แสดงได้ บทความนี้จะแนะนำคุณในการแปลงข้อมูล JSON เป็นรายงาน PDF และ MS Word ใน Java โดยใช้เทมเพลตง่ายๆ

การสร้างรายงาน Java API

ฉันจะใช้ GroupDocs.Assembly for Java API เพื่อสร้างรายงานจากข้อมูลและเทมเพลต JSON ที่ให้มาในรูปแบบ DOCX และ TXT นอกจากนี้ยังรองรับการสร้างรายงานอัตโนมัติในหลายรูปแบบจากแหล่งข้อมูล CSV, XML

ดาวน์โหลดหรือกำหนดค่า

คุณสามารถดาวน์โหลดไฟล์ JAR ได้จาก ส่วนการดาวน์โหลด หรือเพียงรับการกำหนดค่าพื้นที่เก็บข้อมูลและการพึ่งพาสำหรับ pom.xml ของแอปพลิเคชัน Java ที่ใช้ maven

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-assembly</artifactId>
        <version>21.1</version> 
</dependency>

สร้างรายงาน PDF จากข้อมูล JSON ใน Java

เรามาข้ามไปยังขั้นตอนต่างๆ ที่จะนำไปสู่การแปลงข้อมูล JSON เป็นรายงาน PDF ที่จัดรูปแบบ

  • รับแหล่งข้อมูล JSON
  • กำหนดเทมเพลตตามข้อมูล JSON
  • จัดเตรียมแหล่งข้อมูลและเทมเพลต JSON ให้กับโค้ดจาวาอย่างง่ายสำหรับการสร้างรายงาน
รายงาน JSON เป็น PDF ใน Java

ข้อมูล JSON

สำหรับการสร้างรายงาน PDF ฉันจะใช้ตัวอย่างข้อมูล JSON ต่อไปนี้ของผู้จัดการและลูกค้าที่เกี่ยวข้องและรายละเอียดต่างๆ

\[
	{
		"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>>

ขั้นตอน Java ในการสร้างรายงาน PDF จาก JSON

ขั้นตอนต่อไปนี้และโค้ด Java ช่วยให้สามารถแปลงข้อมูล JSON เป็นรายงาน PDF โดยอัตโนมัติตามเทมเพลตที่กำหนด

  • กำหนดไฟล์ข้อมูล JSON ไฟล์เทมเพลต .txt และพาธไฟล์รายงานเอาต์พุต PDF
  • สร้างอินสแตนซ์ JsonDataSoure ด้วยไฟล์ข้อมูล JSON
  • สร้าง DataSourceInfo ด้วย JsonDataSource ที่กำหนด
  • เรียกวิธีการassembleDocumentของคลาส DocumentAssembler เพื่อสร้างรายงาน PDF จากข้อมูล JSON ที่ให้มาและเทมเพลตที่กำหนด
// สร้างรายงาน PDF จากข้อมูล JSON โดยใช้เทมเพลต TXT ใน Java ด้วย GroupDocs.Assembly API
// กำหนดแหล่งข้อมูล เทมเพลต และไฟล์รายงานเอาต์พุต
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromJSON.pdf";				
// สร้างอินสแตนซ์แหล่งข้อมูล JSON
JsonDataSource datasource= new JsonDataSource(jsonFilePath);			  
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// สร้างรายงาน
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);

สร้างรายงาน MS Word จากข้อมูล JSON ในภาษาจาวา

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

  • การกำหนดเทมเพลตเดียวกันในรูปแบบ DOCX
  • กำหนดรูปแบบเอกสารรายงานผลลัพธ์เป็น DOCX
  • รหัสที่เหลือจะยังคงเหมือนเดิมเพื่อสร้างรายงาน MS Word DOCX จากข้อมูล JSON
// สร้างรายงาน Word จากข้อมูล JSON โดยใช้เทมเพลต DOCX ใน Java ด้วย GroupDocs.Assembly API
// กำหนดแหล่งข้อมูล เทมเพลต และไฟล์รายงานเอาต์พุต
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/reportFromJSON.docx";			
// สร้างอินสแตนซ์แหล่งข้อมูล JSON
JsonDataSource datasource= new JsonDataSource(jsonFilePath);			  
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// สร้างรายงาน
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);

สำหรับรายละเอียด ตัวเลือก และตัวอย่างเพิ่มเติม คุณสามารถไปที่ที่เก็บ documentation และ GitHub ในกรณีที่มีข้อสงสัยเพิ่มเติม โปรดติดต่อฝ่ายสนับสนุนฟรีที่ ฟอรัม

บทสรุป

ฉันหวังว่าคุณจะสบายใจในการสร้างแอปพลิเคชันที่ใช้ Java ของคุณเองเพื่อสร้างรายงานโดยการแปลงข้อมูล JSON เป็นรูปแบบ PDF ในทำนองเดียวกัน คุณสามารถสร้างรายงานในรูปแบบอื่นๆ เช่น DOCX โดยใช้แหล่งข้อมูลอื่นๆ เช่น CSV และ XML

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