Spout
ไลบรารี PHP สำหรับไฟล์ ODS, XLSX & CSV
ไลบรารี PHP แบบโอเพ่นซอร์สเพื่อสร้าง อ่าน และจัดการสเปรดชีตจาก Excel® (XLSX, CSV) และ OpenOffice™ (ODS)
Spout คืออะไร?
Spout เป็นไลบรารี PHP แบบโอเพ่นซอร์สที่ช่วยนักพัฒนาซอฟต์แวร์ในงานจัดการสเปรดชีต เช่น การอ่านและเขียนไฟล์ ODS, XLSX และ CSV ด้วย Spout นักพัฒนาสามารถสร้างสเปรดชีตตั้งแต่เริ่มต้นด้วยการจัดสไตล์เซลล์ แถวและเส้นขอบ ตลอดจนโหลดไฟล์ที่มีอยู่สำหรับการแก้ไข
Spout เป็นมิตรกับนักพัฒนาเนื่องจากมี API ที่เรียบง่ายและผสานรวมเพื่ออ่านและสร้างสเปรดชีตประเภทต่างๆ นอกจากนี้ยังอนุญาตให้เปลี่ยนจากสเปรดชีตประเภทหนึ่งเป็นอีกประเภทหนึ่งโดยมีการเปลี่ยนแปลงโค้ดขั้นต่ำ มันสามารถจัดการไฟล์สเปรดชีตขนาดเล็กและขนาดใหญ่มากในขณะที่ใช้หน่วยความจำต่ำมาก ต้องการหน่วยความจำเพียง 3MB ในการประมวลผลไฟล์สเปรดชีต
วิธีการติดตั้ง Spout PHP Library
Spout ต้องการ PHP เวอร์ชัน 7.1 หรือสูงกว่า เมื่อตรงตามข้อกำหนดเบื้องต้นแล้ว ให้ติดตั้ง Spout จาก Composer
ติดตั้ง Spout จาก Composer
$ composer require box/spout
ไลบรารี PHP เพื่ออ่านและเขียน ODS, XLSX & CSV
Spout ช่วยให้นักพัฒนาซอฟต์แวร์สร้างไฟล์สเปรดชีตตั้งแต่เริ่มต้นใน 3 รูปแบบยอดนิยม ขณะอ่าน Spout จะเดาประเภทตัวอ่านสเปรดชีตตามนามสกุลไฟล์ ในกรณีที่ส่วนขยายไม่ได้มาตรฐาน สามารถสร้างโปรแกรมอ่านเฉพาะได้โดยตรง
อ่าน ODS ผ่าน PHP
- สร้างโปรแกรมอ่านสำหรับรูปแบบไฟล์ ODS
- ผ่านเส้นทางไฟล์ ODS เพื่อโหลดวิธีการอ่าน
- วนซ้ำบนแผ่นงาน ODS ผ่าน getSheetIterator()
- วนซ้ำแถวเวิร์กชีตผ่าน getRowIterator()
- รับเซลล์ของแถว 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 สามารถเข้าถึงและอ่านข้อมูลจากชีตเฉพาะภายในสเปรดชีต โดยปกติ สเปรดชีตจะมีแผ่นงานหลายแผ่น หากผู้ใช้สนใจอ่านข้อมูลจากแผ่นเดียวและข้ามแผ่นอื่นๆ ผู้ใช้เพียงแค่ต้องการทราบชื่อและตำแหน่งของสเปรดชีต