PlusMagi's Blog By Pitt Phunsanit Excel,Programming,Programs Office Open XML (OOXML) เบื้องหลังไฟล์ Office (Word, Excel)

Office Open XML (OOXML) เบื้องหลังไฟล์ Office (Word, Excel)

เคยสงสัยไหมว่าทำไมไฟล์เอกสารอย่าง .docx, .xlsx หรือ .pptx ที่เราใช้กันในปัจจุบัน ถึงมีตัว “x” พ่วงท้ายมาด้วย? ตัว x นั้นย่อมาจาก XML ซึ่งเป็นส่วนหนึ่งของมาตรฐานไฟล์ที่เรียกว่า Office Open XML (OOXML) นั่นเอง


Office Open XML คืออะไร?

Office Open XML (OOXML) คือ มาตรฐานรูปแบบไฟล์ที่พัฒนาโดย Microsoft เพื่อใช้สำหรับจัดเก็บข้อมูลเอกสารประเภทต่าง ๆ เช่น ประมวลผลคำ (Word processing), ตารางคำนวณ (Spreadsheets) และการนำเสนอผลงาน (Presentations)

ก่อนปี 2007 Microsoft Office เคยใช้ฟอร์แมตไฟล์แบบ Binary (เช่น .doc, .xls, .ppt) ซึ่งเป็นระบบปิดและยากต่อการที่โปรแกรมอื่นจะนำไปเปิดหรือแก้ไข แต่การมาของ OOXML ทำให้อุตสาหกรรมซอฟต์แวร์เปลี่ยนมาใช้ รูปแบบเปิด (Open Format) ที่เป็นมาตรฐานสากล (ISO/IEC 29500)


โครงสร้างภายใน: ตัวจริงคือ “ไฟล์ซิป”

ความลับที่น่าสนใจของไฟล์ .docx หรือ .xlsx คือ พวกมันไม่ใช่ไฟล์เดี่ยว ๆ แต่เป็นไฟล์ ZIP ที่มัดรวมไฟล์ XML หลาย ๆ ไฟล์เข้าด้วยกัน หากคุณลองเปลี่ยนนามสกุลไฟล์จาก document.docx ให้เป็น document.zip แล้วแตกไฟล์ออก คุณจะพบกับโครงสร้างโฟลเดอร์ที่บรรจุข้อมูลแยกย่อยไว้ เช่น

  • [Content_Types].xml: ไฟล์ที่บอกว่าในแพ็กเกจนี้มีไฟล์ประเภทไหนอยู่บ้าง
  • _rels/: โฟลเดอร์ที่เก็บความสัมพันธ์ (Relationships) ระหว่างส่วนต่าง ๆ ของเอกสาร
  • word/ (หรือ xl/, ppt/): โฟลเดอร์หลักที่เก็บเนื้อหาจริงเอาไว้ เช่น
    • document.xml (เก็บข้อความที่เราพิมพ์)
    • styles.xml (เก็บรูปแบบฟอนต์ สี และขนาด)
    • media/ (โฟลเดอร์เก็บรูปภาพทั้งหมดที่ใส่ไว้ในเอกสาร)

เปรียบเทียบความแตกต่าง: แบบเก่า VS แบบใหม่

คุณสมบัติฟอร์แมตเก่า (Binary: .doc, .xls)ฟอร์แมตใหม่ (OOXML: .docx, .xlsx)
โครงสร้างไฟล์เป็นโค้ดฐานสอง (Binary) อ่านยากเป็น XML บีบอัดด้วย ZIP โครงสร้างชัดเจน
ขนาดไฟล์ขนาดใหญ่กว่าขนาดเล็กกว่ามาก (ลดลงประมาณ 50-75%)
ความเสียหายของไฟล์หากไฟล์เสีย มักจะเปิดไม่ได้เลยทั้งไฟล์หากเสีย มักจะยังกู้คืนข้อความหรือรูปภาพแยกกันได้
ความเป็นระบบเปิดค่อนข้างปิด พัฒนาต่อยอดร่วมกับระบบอื่นยากเป็นมาตรฐานเปิด โปรแกรมค่ายอื่น (เช่น OpenOffice, Google Docs) รองรับได้ดี

ประโยชน์หลักของ Office Open XML

  1. ขนาดไฟล์ที่เล็กลง: เนื่องจากมีการบีบอัดข้อมูลแบบ ZIP ในตัว ทำให้ประหยัดพื้นที่จัดเก็บและส่งอีเมลได้รวดเร็วขึ้น
  2. กู้คืนข้อมูลง่ายและปลอดภัยกว่า: หากไฟล์เกิดความเสียหาย โอกาสที่จะสูญเสียข้อมูลทั้งหมดจะน้อยลง เพราะเราสามารถแกะเอาไฟล์รูปภาพหรือข้อความดิบ (Raw text) ออกมาจากโครงสร้าง XML ได้
  3. ทำงานร่วมกันได้ดี (Interoperability): นักพัฒนาซอฟต์แวร์สามารถเขียนโปรแกรมเพื่อสร้าง แก้ไข หรืออ่านข้อมูลจากไฟล์เอกสารเหล่านี้ได้โดยตรง โดยไม่จำเป็นต้องติดตั้งโปรแกรม Microsoft Office ไว้บนเครื่องเลยด้วยซ้ำ
  4. ความปลอดภัยทางข้อมูล: ไฟล์ XML ไม่สามารถรันโค้ดอันตรายหรือฝังไวรัสประเภท Macro ข้ามระบบได้ง่ายเหมือนไฟล์ Binary สมัยก่อน (หากต้องการใช้ Macro จะต้องใช้ฟอร์แมตเฉพาะเช่น .docm)

สรุป

Office Open XML ไม่ได้เป็นเพียงแค่การเปลี่ยนนามสกุลไฟล์ให้ยาวขึ้น แต่เป็นก้าวสำคัญที่เปลี่ยนให้เอกสารออฟฟิศกลายเป็นมาตรฐานสากลที่เปิดกว้าง มีประสิทธิภาพ และปลอดภัยยิ่งขึ้น เป็นจุดเริ่มต้นให้เราเขียนโปรแกรมในการที่จะ export ไฟล์ออกมาเป็น Word, excel ได้ง่ายขึ้น ซึ่งช่วยให้การรับส่งและจัดการข้อมูลในโลกดิจิทัลไร้รอยต่อมาจนถึงทุกวันนี้


อ่านเพิ่มเติม