วันเสาร์ที่ 25 กรกฎาคม พ.ศ. 2558

Apache POI



ครั้งแรกกับ Apache POI และเที่ยงคืนตรง

>> ถามมาจากพี่ซีเนียร์ที่ทำงานครับ ว่าอยากทำความเข้าใจ จาวา ที่สร้าง รายงาน ออกมาได้ พี่ท่านแนะนำตัวนี้มา มันคืออะไรพี่? คำถามแรกแบบไม่ต้องคิดและหวังคำตอบ ณ ตรงนั้น แต่ก็เฉลี่ยวใจ ทำไมไม่เอาชื่อนี้ที่พี่เขาให้มาไปลองเล่นเองว่ะ โอเคไม่น่าเล่นยาก มันต้องเป็นของดีแน่

>> หลังจากนั้นจึงสัญญากับตัวเองว่าอย่างไรคืนนี้จะต้องเริ่มให้ได้ ถ้ามีเวลากินข้าวพ่วงดูหนังอย่าง 'Focus เกมกล เสน่ห์คนเหนือเมฆ' จนจบได้ สัญญาก็ต้องทำให้ได้ด้วย ธรรมดาของคนอยู่ลำพัง ก็มาเล่าให้ฟังตามเคยครับ

>> Apache POI หรือก็คือ Apache Poor Obfuscation Implementation ห๊ะ? มันคืออะไรน่ะ เป็นไลบรารี่สำหรับอ่านและเขียนชุดโปรแกรมไมโครซอฟออฟฟิศด้วยภาษาจาวา! ไอ้ย่ะ ได้แก่ MS Word, MS PowerPoint และ MS Excel เป็นต้น

>> คะคือพี่ครับ ผมนึกถึง iReport มากกว่านะครับ (คิดเองในใจ) แต่ไหนถอยมาไกลถึงเพียงนี้ 'ก็ iReport มันสวมอยู่บนตัวนี้แหละ' หือ? คำตอบนี้ไม่ยากไปเหรอครับพี่ ภาษาอังกฤษด้วยนะที่ผมต้องอ่านและแปลให้ตัวเองรับรู้ โอเคเริ่มท่อง A, B, C, ... กันเลยก็แล้วกัน

>> สั้นๆง่ายๆไวๆไร้ลีลา (ยังไง?) ประสามือใหม่ใจสั่น ผิดถูกค่อยว่ากันทีหลังนะครับ เริ่มต้นจากติดตั้ง JDK ลงเครื่องก่อนเลย ของผมนี่เลย
C:\Program Files\Java\jdk1.8.0_31

>> ต่อไปตามไปโหลดไลบรารี่ (อย่างที่บอกว่ามันเป็นไลบรารี่) ณ
http://poi.apache.org/download.html
มองหา
poi-bin-XXX.zip (ตอนนี้คือเวอร์ชัน poi-bin-3.12-20150511.zip)

>> ผมเลือก tutorial ที่สอนสร้างไฟล์ Excel (ผมชอบโปรแกรมตารางคำนวณนี้มากที่สุดในประดาชุด MS Office) เอาเป็นว่าเราจะมาลอง Hello Excel! กันแบบสดๆ จัดกันแบบ real time กันเลยคืนนี้

>> ฟังเรื่อง core classes กันก่อน ทิดดีๆ (ทฤษฎี) อย่าเพิ่งเบื่อ ผมก็ใหม่เหมือนกัน มีสองคลาสควรรู้จักครับ
1) คลาส HSSFWorkbook สำหรับอ่านและเขียน excel มีสกุลเป็น .xls หรือก็คือ excel เวอร์ชัน 2007 ลงไป (ราวเวอร์ชัน 97-2003)
2) คลาส XSSFWorkbook สำหรับอ่านและเขียน excel มีสกุลเป็น .xls หรือ .xlsx หรือก็คือ excel เวอร์ชัน 2007 ขึ้นไป

>> ใช้ Eclipse IDE เขียน ส่วน jar ไฟล์ที่ได้เซตให้เรียบร้อย ทำไม่เป็นตามลิงค์นี้ มีหลายวิธีให้เลือกครับ
http://www.wikihow.com/Add-JARs-to-Project-Build-Paths-in-Eclipse-(Java)

>> เป็นว่าผมใช้คลาส XSSFWorkbook
- สร้างออบเจ็กต์ workbook เปล่าๆแล้วให้ออบเจ็กต์นี้สร้าง spreadsheet ของมันเอง
- ออบเจ็กต์ spreadsheet ที่ได้ ให้มันสร้าง row ของมันเอง
- ออบเจ็กต์ row ที่ได้ ให้มันสร้าง cell ของมันเอง
- ในที่นี้จองแค่ 1 row 1 cell เพื่อเขียนคำว่า Hello Excel! ลงไป
- สั่งมันเขียนไฟล์ ปิดไฟล์ที่เขียน (D:\MyExcel.xlsx)
- เปิดมันด้วย MS Excel ครับ

>> ทั้งหมดนี้ผมอ่านจาก
http://www.tutorialspoint.com/apache_poi/apache_poi_java_excel.htm

>> ขอบคุณสำหรับความหมายของ POI
https://en.wikipedia.org/wiki/List_of_Apache_Software_Foundation_projects

>> คืนนี้คงต้องนอนกันก่อน ไว้เจอกันใหม่ สวัสดีครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น