นำเข้าและส่งออกไฟล์ Excel, CSV, & ODS ผ่านไลบรารี PHP ฟรี
API PHP แบบโอเพนซอร์สที่ช่วยให้นักพัฒนาซอฟต์แวร์สามารถนำเข้าและส่งออกไฟล์ MS Excel ได้ เรียนรู้คุณลักษณะ ประโยชน์ และตัวอย่างโค้ดเพื่อจัดการชุดข้อมูลขนาดใหญ่อย่างมีประสิทธิภาพ
Fast-Excel คืออะไร?
Fast-Excel เป็นแพ็กเกจ PHP ที่มีน้ำหนักเบาออกแบบมาเพื่อทำให้การนำเข้า/ส่งออกไฟล์ Excel และ CSV ในแอปพลิเคชัน Laravel ง่ายขึ้น สร้างบนพื้นฐานของ OpenSpout มุ่งเน้นที่ความเร็ว การใช้หน่วยความจำต่ำ และไวยากรณ์ที่เป็นมิตรต่อผู้พัฒนา แตกต่างจากไลบรารีสเปรดชีตที่หนักหน่วง Fast-Excel เหมาะสำหรับโครงการที่ต้องการการจัดการสเปรดชีตที่ง่ายและมีประสิทธิภาพโดยไม่มีความซับซ้อนที่ไม่จำเป็น รองรับการส่งออกและนำเข้าไฟล์ XLSX, CSV, และ ODS พร้อมรักษาการใช้หน่วยความจำให้น้อยอย่างน่าประหลาดใจ.
Fast-Excel มีประโยชน์อย่างยิ่งสำหรับนักพัฒนาที่ต้องประมวลผลไฟล์ Excel, CSV หรือ ODS ขนาดใหญ่โดยไม่ประสบปัญหาข้อจำกัดของหน่วยความจำ ไลบรารีแบบดั้งเดิมมักโหลดชุดข้อมูลทั้งหมดเข้าสู่หน่วยความจำ แต่ Fast-Excel ใช้เทคนิคสตรีมมิ่งเพื่อจัดการข้อมูลอย่างมีประสิทธิภาพ ไลบรารีนี้ถูกใช้กันอย่างแพร่หลายสำหรับการส่งออกบันทึกฐานข้อมูลไปยังสเปรดชีต, การนำเข้าข้อมูลผู้ใช้หรือรายงาน, การสร้างรายงานขนาดใหญ่แบบไดนามิก, การทำให้การจัดการ Excel ในแอป Laravel ง่ายขึ้น เป็นต้น ด้วย API ที่เรียบง่ายและการตั้งค่าที่น้อย Fast-Excel ลดเวลาในการพัฒนาในขณะที่ปรับปรุงประสิทธิภาพ
เริ่มต้นใช้งาน Fast-Excel
วิธีที่แนะนำในการติดตั้ง Fast-Excel ลงในโปรเจกต์ของคุณคือการใช้ Composer โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น
ติดตั้ง Fast-Excel ผ่าน Composer
composer require rap2hpoutre/fast-excelคุณยังสามารถโคลนโปรเจกต์ด้วย Git โดยการรัน
ส่งออกคอลเลกชันเป็นไฟล์ Excel ผ่าน PHP
Fast-Excel ทำให้การส่งออกคอลเลกชันหรือโมเดลไปยัง Excel ง่ายอย่างเหลือเชื่อ เพียงไม่กี่บรรทัดของโค้ด คุณสามารถสร้างไฟล์ .xlsx, .csv หรือ .ods ฟีเจอร์นี้ขจัดโค้ดซ้ำซ้อนและเร่งการพัฒนา โดยเฉพาะสำหรับแดชบอร์ดหรือระบบรายงาน ตัวอย่างต่อไปนี้แสดงวิธีการส่งออกข้อมูลเป็นไฟล์ MS Excel XLSX ด้วยโค้ด PHP ไลบรารีแปลงคอลเลกชันของ Laravel โดยตรงเป็นไฟล์ Excel โดยไม่ต้องกำหนดค่าซับซ้อน
วิธีส่งออกข้อมูลเป็นไฟล์ Excel XLSX ผ่านไลบรารี PHP?
use Rap2hpoutre\FastExcel\FastExcel;
// Sample data
$list = collect([
['id' => 1, 'name' => 'Jane'],
['id' => 2, 'name' => 'John'],
]);
// Export to Excel
(new FastExcel($list))->export('users.xlsx');
การส่งออกแบบแบ่งเป็นชิ้นส่วนที่ใช้หน่วยความจำน้อยด้วย Generators
ไลบรารี Fast-Excel แบบโอเพ่นซอร์สได้รวมการสนับสนุนการใช้หน่วยความจำต่ำและไวยากรณ์ที่ง่ายสำหรับการนำเข้า หรือส่งออกข้อมูล นี่คือฟีเจอร์หลักสำหรับการจัดการ \"big data\" แทนการโหลดผู้ใช้ 1 ล้านคนเข้าสู่แอเรย์ คุณใช้ cursor() ของ Laravel หรือเจนเนอเรเตอร์ yield ที่กำหนดเอง ตัวส่งออกจะประมวลผลแต่ละแถวทีละแถว เขียนลงไฟล์และลบออกจากหน่วยความจำ วิธีนี้ทำให้การใช้หน่วยความจำคงที่ (ต่ำมาก) ไม่ว่าจะส่งออก 100 แถวหรือ 10 ล้านแถว
วิธีส่งออกฟิลด์เฉพาะพร้อมหัวข้อกำหนดเองในแอปพลิเคชัน PHP?
return (new FastExcel(User::all()))->export('formatted_users.xlsx', function ($user) {
return [
'Full Name' => $user->firstname . ' ' . $user->lastname,
'Email Address' => $user->email,
'Member Since' => $user->created_at->format('Y-m-d'),
'Status' => $user->is_active ? 'Active' : 'Suspended'
];
});
นำเข้าข้อมูลโดยตรงสู่ฐานข้อมูล
แทนที่จะนำเข้าข้อมูลแถวด้วยตนเอง Fast-Excel สามารถประมวลผลแต่ละแถวและแทรกโดยตรงลงในฐานข้อมูลของคุณได้ ซึ่งเหมาะอย่างยิ่งสำหรับการอัปโหลดข้อมูลจำนวนมากโดยผู้ดูแลระบบและมีประโยชน์หลายอย่าง เช่น การแทรกข้อมูลจำนวนมากในฐานข้อมูล โค้ดที่สะอาดขึ้น การประมวลผลด้วยมือที่น้อยลง กระบวนการทำงานของผู้ดูแลระบบที่ง่าย เป็นต้น สิ่งนี้มีประโยชน์เป็นพิเศษสำหรับระบบ HR, CRM และแพลตฟอร์มอีคอมเมิร์ซ นี่คือตัวอย่างที่เป็นประโยชน์ที่แสดงวิธีนำเข้าข้อมูลลงในฐานข้อมูลภายในแอปพลิเคชัน PHP
วิธีนำเข้าข้อมูลโดยตรงสู่ฐานข้อมูลผ่านไลบรารี PHP?
use Rap2hpoutre\FastExcel\FastExcel;
use App\Models\User;
(new FastExcel)->import('users.xlsx', function ($line) {
return User::create([
'name' => $line['Name'],
'email' => $line['Email'],
]);
});
การแมปคอลัมน์และการจัดรูปแบบแบบกำหนดเองผ่าน PHP
คอลัมน์ในฐานข้อมูลไม่ได้อ่านง่ายเสมอไป ไลบรารี Fast-Excel ได้รวมการสนับสนุนเต็มรูปแบบสำหรับการแมปและจัดรูปแบบคอลัมน์หรือแถวแบบกำหนดเอง ฟีเจอร์นี้ทำให้คุณสามารถกำหนดได้อย่างแม่นยำว่าคุณลักษณะใดที่จะส่งออกและจัดรูปแบบค่าใหม่แบบเรียลไทม์ ไม่ว่าคุณจะต้องการทำให้ชื่อนามสกุลเป็นตัวพิมพ์ใหญ่ รวมชื่อและนามสกุลเข้าด้วยกัน หรือเปลี่ยนชื่อ ‘user_id’ เป็น ‘Employee Identifier’ โค้ดปิด (closure) จะให้คุณควบคุมผลลัพธ์สุดท้ายได้อย่างเต็มที่