Hafsa Aly نشر 26 يوليو 2021 أرسل تقرير نشر 26 يوليو 2021 (معدل) اريد عمل button يمكنني من تصدير بيانات من database الى شيت اكسيل وذلك في laravel7 تم التعديل في 26 يوليو 2021 بواسطة عبود سمير توضيح السؤال 1 اقتباس
1 سمير عبود نشر 26 يوليو 2021 أرسل تقرير نشر 26 يوليو 2021 بإمكانك إستخدام حزمة Maatwebsite / Laravel-Excel لتحقيق ذلك: حتى تعمل الحزمة بالشكل المطلوب لديها بعض المتطلبات: PHP: ^7.2\|^8.0 Laravel: ^5.8 PhpSpreadsheet: ^1.15 PHP extension php_zip enabled PHP extension php_xml enabled PHP extension php_gd2 enabled PHP extension php_iconv enabled PHP extension php_simplexml enabled PHP extension php_xmlreader enabled PHP extension php_zlib enabled تثبيت الحزمة: composer require maatwebsite/excel يُمكنك تسجيل مزود الخدمة الخاص بالحزمة بنفسك إن أردت في ملف config/app.php: 'providers' => [ /* * Package Service Providers... */ Maatwebsite\Excel\ExcelServiceProvider::class, ] و حفظ الإسم المستعار في المصفوفة aliases: 'aliases' => [ ... 'Excel' => Maatwebsite\Excel\Facades\Excel::class, ] هاتين الخطوتين ليستا ضروريتان لأن الحزمة auto-discovered. لنشر ملف الإعدادات الخاص بالحزمة في مجلد الإعدادات: php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config تدعم الحزمة التصدير و الإستيراد من و إلى قاعدة البيانات، مثال بسيط لتصدير سجلات النموذج User: نقوم بإنشاء صنف عن طريق الأمر: php artisan make:export UsersExport --model=User سنجد مجلد جديد بالإسم Exports في المجلد app و بداخله الملف UsersExport.php و أي صنف ننُشؤه لاحقاً بنفس الأمر نجده في نفس المسار. نقوم بملء الملف بالشكل التالي: <?php namespace App\Exports; use App\Models\User; use Maatwebsite\Excel\Concerns\FromCollection; class UsersExport implements FromCollection { public function collection() { return User::all(); } } يُمكن التصدير من مجموعة (Collection) او من إستعلام أو من صفحة عرض و كل الطرق مشروحة في توثيق الحزمة. في المتحكم المسؤول نقوم بإنشاء دالة جديدة بالشكل التالي: <?php namespace App\Http\Controllers; use App\Exports\UsersExport; use Maatwebsite\Excel\Facades\Excel; class UsersController extends Controller { public function export() { return Excel::download(new UsersExport, 'users.xlsx'); } } ثم ننُشئ المسار الذي من خلاله نصل الى الدالة export: Route::get('users/export/', 'UsersController@export'); الآن بإمكانك إنشاء زر للوصول إلى المسار او يُمكنك تصفح الرابط مباشرة من المتصفح و سيتم تحميل ملف إكسل بالإسم users.xlsx. يحتوي على البيانات. بإمكانك الإطلاع على التوثيق الرسمي للحزمة للإطلاع على الأمر بشكل موسع: Laravel Excel 1 اقتباس
0 Hafsa Aly نشر 26 يوليو 2021 الكاتب أرسل تقرير نشر 26 يوليو 2021 هل هناك طريقة اخرى لعمل التصدير باستخدام js اقتباس
0 Hafsa Aly نشر 26 يوليو 2021 الكاتب أرسل تقرير نشر 26 يوليو 2021 بتاريخ 3 ساعات قال عبود سمير: بإمكانك إستخدام حزمة Maatwebsite / Laravel-Excel لتحقيق ذلك: حتى تعمل الحزمة بالشكل المطلوب لديها بعض المتطلبات: PHP: ^7.2\|^8.0 Laravel: ^5.8 PhpSpreadsheet: ^1.15 PHP extension php_zip enabled PHP extension php_xml enabled PHP extension php_gd2 enabled PHP extension php_iconv enabled PHP extension php_simplexml enabled PHP extension php_xmlreader enabled PHP extension php_zlib enabled تثبيت الحزمة: composer require maatwebsite/excel يُمكنك تسجيل مزود الخدمة الخاص بالحزمة بنفسك إن أردت في ملف config/app.php: 'providers' => [ /* * Package Service Providers... */ Maatwebsite\Excel\ExcelServiceProvider::class, ] و حفظ الإسم المستعار في المصفوفة aliases: 'aliases' => [ ... 'Excel' => Maatwebsite\Excel\Facades\Excel::class, ] هاتين الخطوتين ليستا ضروريتان لأن الحزمة auto-discovered. لنشر ملف الإعدادات الخاص بالحزمة في مجلد الإعدادات: php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config تدعم الحزمة التصدير و الإستيراد من و إلى قاعدة البيانات، مثال بسيط لتصدير سجلات النموذج User: نقوم بإنشاء صنف عن طريق الأمر: php artisan make:export UsersExport --model=User سنجد مجلد جديد بالإسم Exports في المجلد app و بداخله الملف UsersExport.php و أي صنف ننُشؤه لاحقاً بنفس الأمر نجده في نفس المسار. نقوم بملء الملف بالشكل التالي: <?php namespace App\Exports; use App\Models\User; use Maatwebsite\Excel\Concerns\FromCollection; class UsersExport implements FromCollection { public function collection() { return User::all(); } } يُمكن التصدير من مجموعة (Collection) او من إستعلام أو من صفحة عرض و كل الطرق مشروحة في توثيق الحزمة. في المتحكم المسؤول نقوم بإنشاء دالة جديدة بالشكل التالي: <?php namespace App\Http\Controllers; use App\Exports\UsersExport; use Maatwebsite\Excel\Facades\Excel; class UsersController extends Controller { public function export() { return Excel::download(new UsersExport, 'users.xlsx'); } } ثم ننُشئ المسار الذي من خلاله نصل الى الدالة export: Route::get('users/export/', 'UsersController@export'); الآن بإمكانك إنشاء زر للوصول إلى المسار او يُمكنك تصفح الرابط مباشرة من المتصفح و سيتم تحميل ملف إكسل بالإسم users.xlsx. يحتوي على البيانات. بإمكانك الإطلاع على التوثيق الرسمي للحزمة للإطلاع على الأمر بشكل موسع: Laravel Excel شكرا لك . هل استطيع عمل filter مع التصدير اقتباس
0 سمير عبود نشر 26 يوليو 2021 أرسل تقرير نشر 26 يوليو 2021 بتاريخ 24 دقائق مضت قال Hafsa Aly: هل هناك طريقة اخرى لعمل التصدير باستخدام js يُمكنك إستخدام حزمة DataTables فهي سهلة و بسيطة و توفر التصدير لعدة أشكال. كما يوجد عدة بدائل يُمكنك الوصول إليها بإستخدام محرك البحث بكتابة: javascript export data to excel و هذا مثال على codepen يستخدم مكتبة table-to-excel: 1 اقتباس
السؤال
Hafsa Aly
اريد عمل button يمكنني من تصدير بيانات من database الى شيت اكسيل وذلك في laravel7
تم التعديل في بواسطة عبود سميرتوضيح السؤال
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.