اذهب إلى المحتوى
  • 0

استرداد ملف اكسيل في لارافل

فارس محمد11

السؤال

لدي جدول منتجات بهذه هذه الحقول اسم و معرف و صوره وكميه ولدي ملف اكثر به 3000 منتج بنفس القيم كيف يمكنني استرادا ملف الاكسل واخذ البيانات التي به و انشاء المنتجات بنائا عن هذه البيانات

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يمكنك استخدام مكتبة "Maatwebsite/Laravel-Excel" في Laravel لاستيراد ملف Excel وإنشاء المنتجات بناء على البيانات الموجودة في الملف. بداية، يمكنك أولا البدء في استرداد ملف إكسل في لارافل من خلال استخدام مكتبة maatwebsite/excel لرفع الملف عبر هذا الأمر:

composer require maatwebsite/excel

بعدها تقوم بإنشاء وسيط تحكم لاستقبال الملف:

Route::post('/import-products', 'ProductController@import');

ثم تستطيع بعدها إعداد دالة التحكم وإضافة خاصية التحقق من أن الملف يحتوي على نفس أسماء الأعمدة مثل النموذج بالشكل التالي:

public function import(Request $request)
{
    $file = $request->file('file');

    // التأكد من أن ملف إكسل يحتوي على نفس أسماء الأعمدة مثل نموذج Product.
    $validator = Validator::make($request->all(), [
        'file' => 'required|mimes:xlsx,xls',
    ]);

    if ($validator->fails()) {
        return back()->withErrors($validator);
    }

    $import = new Importer;
    $products = $import->import($file);

    // معالجة البيانات و إنشاء المنتجات...
}

لقراءة ملف إكسل نستخدم ()Excel::load:

$excel = Excel::load($file);

.للحصول على بيانات ورقة العمل نستخدم ()getSheetData:

$data = $excel->getSheetData('products');

ونستخدم حلقة foreach للوصول إلى بيانات كل منتج مع التأكد من صحة البيانات:

foreach ($data as $row) {
    // تأكد من صحة البيانات في ملف إكسل.
    $validator = Validator::make($row, [
        'name' => 'required|string',
        'id' => 'required|integer',
        'image' => 'required|string',
        'quantity' => 'required|integer',
    ]);

    if ($validator->fails()) {
        continue;
    }

    $product = new Product;
    $product->name = $row['name'];
    $product->id = $row['id'];
    $product->image = $row['image'];
    $product->quantity = $row['quantity'];

    $product->save();
}

ويمكنك تصفح هذه المصادر للاستفادة أكثر:

وهنا نقاش حول تصدير البيانات للفائدة العامة:

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...