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

คุณสามารถนำเสนอข้อมูล Microsoft Excel ในรูปแบบของรายงานที่กำหนดเองให้กับผู้ใช้ของคุณ เช่น ลูกค้า ผู้มีส่วนได้เสีย ฯลฯ ในฐานะนักพัฒนา Java คุณสามารถสร้างรายงานดังกล่าวโดยทางโปรแกรมโดยใช้สเปรดชีต Excel เป็นตารางข้อมูล ในบทความนี้ คุณจะได้เรียนรู้วิธีสร้างรายงานจากข้อมูล Excel โดยใช้ Java

หัวข้อต่อไปนี้จะกล่าวถึง/ครอบคลุมในบทความนี้:

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

สำหรับการสร้างรายงานจากข้อมูล Excel ฉันจะใช้ GroupDocs.Assembly for Java API ช่วยให้คุณสร้างเอกสารอัตโนมัติที่มีประสิทธิภาพและแอปพลิเคชันการสร้างรายงาน โดยจะดึงข้อมูลจากแหล่งข้อมูลตามเอกสารเทมเพลตที่กำหนดไว้ ประกอบเข้าด้วยกัน และสร้างรายงานในรูปแบบเอาต์พุตที่ระบุ API รองรับการดึงข้อมูลจากแหล่งข้อมูลต่างๆ เช่น XML, Excel, JSON และ CSV คุณสามารถสร้างรายงานในรูปแบบไฟล์ที่ใช้ทั่วไปทั้งหมด เช่น PDF, HTML และ Microsoft Word ได้อย่างง่ายดาย

คุณสามารถ ดาวน์โหลด JAR ของ API หรือเพียงเพิ่มการกำหนดค่า 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.7</version> 
</dependency>

สร้างรายงานจากข้อมูล Excel โดยใช้ Java

คุณสามารถสร้างรายงานใน Word ได้อย่างง่ายดายจากข้อมูล Excel ของคุณโดยทำตามขั้นตอนง่าย ๆ ที่ระบุไว้ด้านล่าง:

  1. รับ แหล่งข้อมูล Excel
  2. กำหนด เทมเพลต ตามข้อมูล Excel
  3. แปลงข้อมูล Excel เป็นรายงาน Word ใน Java

แหล่งข้อมูล Excel

คุณสามารถใช้ข้อมูลแบบตารางเป็นแหล่งข้อมูลที่ให้ไว้ในสเปรดชีต Excel เพื่อสร้างรายงานได้ ฉันจะใช้ข้อมูล Excel ตัวอย่างต่อไปนี้เพื่อสร้างรายงาน นี่คือข้อมูลสัญญาของลูกค้ากับผู้จัดการที่เกี่ยวข้องและราคาสัญญาที่ตกลงกันไว้

แหล่งข้อมูล Excel

แหล่งข้อมูล Excel

แม่แบบ

คุณสามารถใช้ไวยากรณ์เทมเพลตที่ใช้ Linq เพื่อสร้างเทมเพลตได้ เทมเพลตประกอบด้วยเนื้อหาเอกสารทั่วไปและแท็กที่อธิบายโครงสร้างของเทมเพลตและการผูกข้อมูล คุณสามารถกำหนดเทมเพลตต่อไปนี้ในไฟล์ DOCX หรือ XLSX เทมเพลตนี้ช่วยให้คุณสามารถวนซ้ำข้อมูลของสัญญาและผู้จัดการที่เกี่ยวข้องด้วยราคาตามสัญญา แต่ละกลุ่มในเทมเพลตมีคีย์เฉพาะที่กำหนดโดยตัวเลือกอินพุต และมีรายการของการแจงนับแหล่งที่มาที่เกี่ยวข้องกับคีย์นี้ คุณสามารถเข้าถึงคีย์ของอินสแตนซ์กลุ่มได้โดยใช้คุณสมบัติคีย์ เมื่อคุณสร้างเทมเพลตแล้ว คุณสามารถข้ามไปยังโค้ดสำหรับสร้างรายงานได้ คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ ไวยากรณ์เทมเพลต ได้ในเอกสารประกอบ

รายงาน-เทมเพลต

เทมเพลตรายงาน

แปลงข้อมูล Excel เป็นรายงาน Word ใน Java

คุณสามารถแปลงข้อมูล Excel เป็นรายงาน DOCX โดยอัตโนมัติตามเทมเพลตโดยทำตามขั้นตอนที่กล่าวถึงด้านล่าง:

  • กำหนดไฟล์ข้อมูล Excel ไฟล์เทมเพลต และเส้นทางไฟล์รายงานเอาต์พุต DOCX
  • สร้างอินสแตนซ์ของคลาส DocumentTableOptions
  • ตั้งค่า setFirstRowContainsColumnNames เป็นจริง
  • สร้าง DocumentTable ด้วยไฟล์ข้อมูล Excel ที่กำหนดและ DocumentTableOptions
  • สร้างอินสแตนซ์ของคลาส DocumentAssembler
  • เรียกใช้เมธอด assembleDocument() พร้อมด้วยข้อมูล Excel และเทมเพลตที่กำหนดไว้

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

String srcDocument = "C:\\Files\\template.docx";
String docReport = "C:\\Files\\Output.docx";
String dataFilePath = "C:\\Files\\Contracts_Data.xlsx";

// ตั้งค่าการแยกชื่อคอลัมน์จากแถวแรก
DocumentTableOptions options = new DocumentTableOptions();
options.setFirstRowContainsColumnNames(true);

// สร้างตารางเอกสาร
DocumentTable table = new DocumentTable(dataFilePath, 0, options);

// สร้างแอสเซมเบลอร์เอกสาร
DocumentAssembler assembler = new DocumentAssembler();

// รวบรวมข้อมูลและสร้างรายงาน
assembler.assembleDocument(srcDocument,docReport, 
  new DataSourceInfo(new DataStorage(), null),
  new DataSourceInfo(table,"ds"));
รายงานที่สร้างขึ้น

รายงานที่สร้างขึ้น

คลาส DocumentTableOptions มีชุดตัวเลือกเพื่อควบคุมการแยกข้อมูลจากตารางเอกสาร ฉันตั้งค่าคุณสมบัติ FirstRowContainsColumnNames ให้เป็นจริง เพื่อไม่ให้ส่วนหัวคอลัมน์กลายเป็นส่วนหนึ่งของข้อมูลรายงาน

คลาส DocumentTable ให้การเข้าถึงข้อมูลของตารางเดียว (หรือสเปรดชีต) ที่อยู่ในเอกสารภายนอกเพื่อใช้ในขณะที่ประกอบเอกสาร

คลาส DocumentAssembler จัดเตรียมวิธีการต่างๆ เพื่อสร้างรายงานโดยใช้เอกสารเทมเพลตที่กำหนดพร้อมกับข้อมูล เมธอด assembleDocument() ของคลาสนี้รับพารามิเตอร์อินพุตสามตัว ได้แก่ เทมเพลตที่กำหนดเป็นเอกสารต้นฉบับ เส้นทางไฟล์เอาต์พุต และแหล่งข้อมูล โดยจะเติมข้อมูลจากแหล่งข้อมูลตามเอกสารเทมเพลตที่ให้มา และจัดเก็บเอกสารผลลัพธ์ไว้ในเส้นทางเป้าหมาย คุณสามารถบันทึกเอกสารผลลัพธ์เป็นรูปแบบไฟล์ที่รองรับต่างๆ เช่น Word, Excel หรือ HTML

รับใบอนุญาตฟรี

คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีสร้างรายงานจากข้อมูล Excel โดยใช้ Java คุณยังได้เรียนรู้วิธีการสร้างเทมเพลตรายงานเพื่อสร้างรายงานอีกด้วย คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Assembly สำหรับ Java API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม

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