ייבוא וייצוא קבצי 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');
ייצוא בחלקים חסכוני בזיכרון באמצעות גנרטורים
ספריית Fast-Excel בקוד פתוח כוללת תמיכה בצריכת זיכרון נמוכה ובתחביר פשוט לייבוא או ייצוא נתונים. זו היא התכונה המרכזית לטיפול ב"big data". במקום לטעון מיליון משתמשים למערך, אתה משתמש ב‑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 ופלטפורמות eCommerce. הנה דוגמה שימושית שמראה כיצד לייבא נתונים למסד נתונים בתוך יישומי 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’, הסגירה נותנת לך שליטה מלאה על מערך הפלט הסופי.