Fast Excel 5.x Adds Streaming Imports and Safer Exports — A Practic...
JOURNAL INDEX
لارافيل/2026.09.24/29 VIEWS/5 MIN READ

يضيف Fast Excel 5.x عمليات استيراد متدفقة وصادرات أكثر أمانًا - وهو إجراء عملي...

عبدالرحمن ربيع
عبدالرحمن ربيع Software Engineer & AI Builder

استكشف الأفكار الرئيسية والتفاصيل العملية والإرشادات المفيدة حول Fast Excel الذي تغير بشكل كبير منذ أن غطت Laravel News الحزمة في عام 2020. ث.

يضيف Fast Excel 5.x عمليات استيراد متدفقة وصادرات أكثر أمانًا - وهو إجراء عملي...

لقد تغير Fast Excel بشكل كبير منذ أن غطت Laravel News الحزمة في عام 2020. وقد غطت هذه المقالة عمليات تصدير المجموعة في عصر الإصدار 2.2، وتنزيلات المتصفح، والمصنفات متعددة الأوراق. يتضمن Fast Excel 5 الآن عمليات استيراد كسولة، وعناصر تحكم لتقسيم عمل جداول البيانات عبر المهام، واختيار الأوراق والأعمدة، ومعالجة أكثر أمانًا لقيم التصدير التي يتحكم فيها المستخدم.

تجعل الإصدارات الأخيرة Fast Excel أكثر فائدة لعمليات الاستيراد التشغيلية الكبيرة، وليس فقط تنزيلات التقارير البسيطة. لا تزال الحزمة تستخدم OpenSpout بدلاً من محاولة الكشف عن كل ميزة في تنسيق ملف Excel، مما يبقيها مركزة على قراءة وكتابة الصفوف ذات الاستخدام المنخفض للذاكرة.

  • importLazy() يقرأ الصفوف من خلال أ LazyCollection
  • headerRow(), startRow()، و limitRows() دعم الواردات مقسمة
  • sheet() و onlyColumns() حدد البيانات التي يحتاجها الاستيراد
  • escapeFormulas() يكتب قيمًا تشبه الصيغة التي يتحكم فيها المستخدم كنص

الواردات كسول للملفات الكبيرة

import() تقوم بإرجاع مجموعة تحتوي على كل صف مستورد. بالنسبة للتحميل الكبير، يمكن أن يستخدم هذا مساحة أكبر من الذاكرة المتوفرة في عملية PHP. importLazy() ينتج صفوفًا من خلال a LazyCollection، بحيث يمكن للتطبيق تجميع عمل قاعدة البيانات دون الاحتفاظ بالملف الكامل:

useApp\Models\Contact;
useIlluminate\Support\LazyCollection;
useRap2hpoutre\FastExcel\FastExcel;
 
(newFastExcel)->importLazy('contacts.xlsx')
->chunk(1_000)
->each(function (LazyCollection $contacts) {
Contact::insert($contacts->all());
});

تقديم برنامج Fast Excel 5.12 importLazy() جنبًا إلى جنب مع تدفق تغييرات التصدير. يقارن المعيار المعياري الخاص بالحزمة بين تصدير المولدات ومجموعة متحققة، ويتضمن المستودع البرنامج النصي القياسي. بالنسبة للاستيراد الذي يصل كملف CSV، يمكن أن يحل نفس الأسلوب محل بعض التحليل اليدوي المستخدم لتحميل ملف CSV كبير.

واردات مقسمة بعناوين مستقرة

تساعد ضوابط الاستيراد الأحدث عندما يتعين على مهمة واحدة في قائمة الانتظار معالجة جزء من جدول البيانات. headerRow() يقرأ المفاتيح من صف العنوان الفعلي، بينما startRow() يختار حيث يبدأ الجزء الحالي و limitRows() قبعات حجمها:

useRap2hpoutre\FastExcel\FastExcel;
 
$rows = (newFastExcel)
->headerRow(1)
->startRow(2+ ($page *1_000))
->limitRows(1_000)
->import('orders.xlsx');

قبل فاست إكسل 5.17، startRow() تعامل أيضًا مع الصف المحدد كعناوين. وبالتالي، يمكن للقطعة اللاحقة استخدام صف البيانات كمفاتيح لها. headerRow() يفصل بين تلك المواقف ويترك القديم startRow() لم يتغير السلوك إلا إذا قمت بالاشتراك. #418 أضافت الطريقة.

اختيار الأوراق والأعمدة

يمكن للحزمة تحديد ورقة بالاسم والاحتفاظ فقط بالأعمدة التي يحتاجها الاستيراد:

useRap2hpoutre\FastExcel\FastExcel;
 
$orders = (newFastExcel)
->sheet('Orders')
->onlyColumns(['A', 'B', 'H'])
->import('customer-export.xlsx');

onlyColumns() يقبل أحرف الأعمدة أو المواضع القائمة على أساس واحد. فهو يتجنب إرجاع الحقول الفارغة من الأوراق التي تم تطبيق التنسيق فيها بما يتجاوز البيانات الحقيقية. limitColumns() يتوفر عندما يحتاج الاستيراد إلى كل عمود حتى موضع معين بدلاً من ذلك. وصلت هذه الخيارات إلى Fast Excel 5.16، الذي أضاف أيضًا خيار تمرير مثيل خلية OpenSpout كقيمة تصدير. #419

الهروب من صيغ جداول البيانات

يمكن لتطبيقات جداول البيانات التعامل مع القيم بدءًا من =, +, -، أو @ كصيغ. عندما تأتي هذه القيم من ملف CSV تم تحميله أو من حقل قاعدة بيانات يتحكم فيه المستخدمون، يمكن أن يؤدي تصدير التقرير إلى تحويل نص عادي إلى صيغة عندما يفتحه شخص ما.

يتصل escapeFormulas() قبل التصدير لكتابة هذه القيم كنص:

useRap2hpoutre\FastExcel\FastExcel;
 
(newFastExcel($rows))
->escapeFormulas()
->export('orders.xlsx');

أضاف Fast Excel 5.17 الطريقة #411.

التوافق

يتطلب Fast Excel 5 PHP 8.0 أو أحدث وLaravel 6 أو أحدث. يدعم الإصدار الحالي Laravel 6 إلى 13 ويستخدم OpenSpout 4. تحتاج التطبيقات التي لا تزال على خط الأساس Laravel 5 أو PHP 7 المدعوم بـ Fast Excel 2 إلى تخطيط ترقية التبعية بشكل منفصل.

يتضمن سجل الإصدار الرئيسي الانتقال من box/spout ل openspout/openspoutبالإضافة إلى متطلبات PHP 8 في Fast Excel 5. يجب على المشاريع التي تستخدم إصدار Fast Excel سابق التحقق من تغييرات التبعية هذه قبل التحديث.

تثبيت

تثبيت Fast Excel باستخدام Composer:

composerrequirerap2hpoutre/fast-excel

مراجع

SHARE شارك المقال
عبدالرحمن ربيع
كتبه

عبدالرحمن ربيع

Software Engineer & AI Builder

مطور برمجيات متكامل ومصمم جرافيك مع أكثر من 4 سنوات خبرة في بناء تطبيقات الويب الحديثة باستخدام PHP و JavaScript و HTML و CSS. خلفية قوية في تصميم UI/UX واستخدام متقدم لأدوات الذكاء الاصطناعي لتعزيز كفاءة التطوير والأتمتة واتخاذ القرارات. حاصل على ماجستير تنفي...

وسوم المقال

#Packages #Excel
RELATED / READ NEXT

مقالات ذات صلة

كل المقالات
COMMENTS

التعليقات (0)

كن أول من يعلّق على هذا المقال.

أضف تعليقك

يظهر تعليقك بعد المراجعة.