Spout

 
 

ไลบรารี PHP สำหรับไฟล์ ODS, XLSX & CSV

ไลบรารี PHP แบบโอเพ่นซอร์สเพื่อสร้าง อ่าน และจัดการสเปรดชีตจาก Excel® (XLSX, CSV) และ OpenOffice™ (ODS)

Spout คืออะไร?

Spout เป็นไลบรารี PHP แบบโอเพ่นซอร์สที่ช่วยนักพัฒนาซอฟต์แวร์ในงานจัดการสเปรดชีต เช่น การอ่านและเขียนไฟล์ ODS, XLSX และ CSV ด้วย Spout นักพัฒนาสามารถสร้างสเปรดชีตตั้งแต่เริ่มต้นด้วยการจัดสไตล์เซลล์ แถวและเส้นขอบ ตลอดจนโหลดไฟล์ที่มีอยู่สำหรับการแก้ไข

Spout เป็นมิตรกับนักพัฒนาเนื่องจากมี API ที่เรียบง่ายและผสานรวมเพื่ออ่านและสร้างสเปรดชีตประเภทต่างๆ นอกจากนี้ยังอนุญาตให้เปลี่ยนจากสเปรดชีตประเภทหนึ่งเป็นอีกประเภทหนึ่งโดยมีการเปลี่ยนแปลงโค้ดขั้นต่ำ มันสามารถจัดการไฟล์สเปรดชีตขนาดเล็กและขนาดใหญ่มากในขณะที่ใช้หน่วยความจำต่ำมาก ต้องการหน่วยความจำเพียง 3MB ในการประมวลผลไฟล์สเปรดชีต

Previous Next

วิธีการติดตั้ง Spout PHP Library

Spout ต้องการ PHP เวอร์ชัน 7.1 หรือสูงกว่า เมื่อตรงตามข้อกำหนดเบื้องต้นแล้ว ให้ติดตั้ง Spout จาก Composer

ติดตั้ง Spout จาก Composer

$ composer require box/spout

ไลบรารี PHP เพื่ออ่านและเขียน ODS, XLSX & CSV

Spout ช่วยให้นักพัฒนาซอฟต์แวร์สร้างไฟล์สเปรดชีตตั้งแต่เริ่มต้นใน 3 รูปแบบยอดนิยม ขณะอ่าน Spout จะเดาประเภทตัวอ่านสเปรดชีตตามนามสกุลไฟล์ ในกรณีที่ส่วนขยายไม่ได้มาตรฐาน สามารถสร้างโปรแกรมอ่านเฉพาะได้โดยตรง

อ่าน ODS ผ่าน PHP

  1. สร้างโปรแกรมอ่านสำหรับรูปแบบไฟล์ ODS
  2. ผ่านเส้นทางไฟล์ ODS เพื่อโหลดวิธีการอ่าน
  3. วนซ้ำบนแผ่นงาน ODS ผ่าน getSheetIterator()
  4. วนซ้ำแถวเวิร์กชีตผ่าน getRowIterator()
  5. รับเซลล์ของแถว ODS เพื่ออ่านหรือเขียน

อ่าน ODS ผ่าน Spout - PHP Excel Library

use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
$reader = ReaderEntityFactory::createODSReader('/path/to/file.ods');
$reader->open($filePath);
foreach ($reader->getSheetIterator() as $sheet) {
  foreach ($sheet->getRowIterator() as $row) {
    // do stuff with the row
    $cells = $row->getCells();
    ...
  }
}
$reader->close();

เพิ่มข้อมูลลงในสเปรดชีตที่มีอยู่ผ่าน PHP

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

การอ่านข้อมูลจากแผ่นงานเฉพาะ

Spout API ช่วยให้นักพัฒนา PHP สามารถเข้าถึงและอ่านข้อมูลจากชีตเฉพาะภายในสเปรดชีต โดยปกติ สเปรดชีตจะมีแผ่นงานหลายแผ่น หากผู้ใช้สนใจอ่านข้อมูลจากแผ่นเดียวและข้ามแผ่นอื่นๆ ผู้ใช้เพียงแค่ต้องการทราบชื่อและตำแหน่งของสเปรดชีต

 ไทย