Apache POI - ภาพรวม
หลายครั้งต้องใช้แอปพลิเคชันซอฟต์แวร์เพื่อสร้างรายงานในรูปแบบไฟล์ Microsoft Excel บางครั้งแอปพลิเคชันคาดว่าจะได้รับไฟล์ Excel เป็นข้อมูลอินพุต ตัวอย่างเช่นแอปพลิเคชันที่พัฒนาขึ้นสำหรับแผนกการเงินของ บริษัท จะต้องสร้างผลลัพธ์ทั้งหมดใน Excel
โปรแกรมเมอร์ Java ที่ต้องการสร้างไฟล์ MS Office เป็นเอาต์พุตต้องใช้ API ที่กำหนดไว้ล่วงหน้าและอ่านอย่างเดียวจึงจะทำได้
Apache POI คืออะไร?
Apache POI เป็น API ยอดนิยมที่ช่วยให้โปรแกรมเมอร์สร้างแก้ไขและแสดงไฟล์ MS Office โดยใช้โปรแกรม Java เป็นไลบรารีโอเพ่นซอร์สที่พัฒนาและเผยแพร่โดย Apache Software Foundation เพื่อออกแบบหรือแก้ไขไฟล์ Microsoft Office โดยใช้โปรแกรม Java ประกอบด้วยคลาสและวิธีการถอดรหัสข้อมูลอินพุตของผู้ใช้หรือไฟล์ลงในเอกสาร MS Office
ส่วนประกอบของ Apache POI
Apache POI มีคลาสและวิธีการทำงานกับเอกสาร OLE2 Compound ทั้งหมดของ MS Office รายการส่วนประกอบของ API นี้มีให้ด้านล่าง
POIFS(ระบบไฟล์การนำการใช้งานที่ไม่ชัดเจน) - ส่วนประกอบนี้เป็นปัจจัยพื้นฐานขององค์ประกอบ POI อื่น ๆ ทั้งหมด ใช้เพื่ออ่านไฟล์ต่าง ๆ อย่างชัดเจน
HSSF (รูปแบบสเปรดชีตที่น่ากลัว) - ใช้เพื่ออ่านและเขียน xls รูปแบบของไฟล์ MS-Excel
XSSF (XML Spreadsheet Format) - ใช้สำหรับ xlsx รูปแบบไฟล์ของ MS-Excel
HPSF (รูปแบบชุดคุณสมบัติที่น่ากลัว) - ใช้ในการแยก property sets ของไฟล์ MS-Office
HWPF (รูปแบบตัวประมวลผลคำที่น่ากลัว) - ใช้เพื่ออ่านและเขียน doc ไฟล์นามสกุลของ MS-Word
XWPF (XML Word Processor Format) - ใช้เพื่ออ่านและเขียน docx ไฟล์นามสกุลของ MS-Word
HSLF (รูปแบบเค้าโครงสไลด์ที่น่ากลัว) - ใช้สำหรับอ่านสร้างและแก้ไขงานนำเสนอ PowerPoint
HDGF (รูปแบบ DiaGram ที่น่ากลัว) - มีคลาสและวิธีการสำหรับ MS-Visio ไฟล์ไบนารี
HPBF (รูปแบบ PuBlisher ที่น่ากลัว) - ใช้เพื่ออ่านและเขียน MS-Publisher ไฟล์.
บทช่วยสอนนี้จะแนะนำคุณตลอดกระบวนการทำงานกับไฟล์ Excel โดยใช้ Java ดังนั้นการสนทนาจึง จำกัด อยู่ที่ส่วนประกอบ HSSF และ XSSF
Note - POI เวอร์ชันเก่ารองรับรูปแบบไฟล์ไบนารีเช่น doc, xls, ppt เป็นต้นเวอร์ชัน 3.5 เป็นต้นไป POI รองรับรูปแบบไฟล์ OOXML ของ MS-Office เช่น docx, xlsx, pptx เป็นต้น
เช่นเดียวกับ Apache POI มีไลบรารีอื่น ๆ ที่จัดหาโดยผู้ขายหลายรายสำหรับการสร้างไฟล์ Excel ซึ่งรวมถึงAspose cells for Java โดย Aspose JXL โดย Commons Libraries และ JExcel โดย Team Dev.