Abdelrahman Mostafa10 نشر 8 ديسمبر 2023 أرسل تقرير نشر 8 ديسمبر 2023 فيما يلي هو تهجير المستخدمين لدي في المشروع، أحتاج إلى تحميل مستند Excel يحتوي على حقول تحمل نفس أسماء العناوين في صف العناوين في ملف Excel، ويجب إدراج كل صف row كمستخدم جديد. public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('prefix')->nullable(); $table->string('firstname'); $table->string('middlename')->nullable(); $table->string('lastname'); $table->string('suffix')->nullable(); $table->string('slug')->unique()->nullable(); $table->string('tags')->nullable(); $table->integer('status')->nullable()->default('1'); $table->string('password'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('altemail')->nullable(); $table->string('empnumber')->nullable(); $table->string('altempnumber')->nullable(); $table->string('type', 50)->nullable(); $table->longtext('description')->nullable(); $table->date('dob')->nullable(); $table->date('doh')->nullable(); $table->date('dos')->nullable(); $table->string('separation_reason', 255)->nullable(); $table->string('home_number', 10)->nullable(); $table->string('home_street', 255)->nullable(); $table->string('home_street_alt', 255)->nullable(); $table->string('home_city', 70)->nullable(); $table->string('home_state', 70)->nullable(); $table->string('home_postalcode', 30)->nullable(); $table->string('home_county', 70)->nullable(); $table->string('home_country', 70)->nullable(); $table->string('home_lat', 25)->nullable(); $table->string('home_lng', 25)->nullable(); $table->string('signature', 255)->nullable(); $table->integer('logins')->nullable()->default('0'); $table->datetime('last_login_dt')->nullable(); $table->string('last_login_ip', 60)->nullable(); $table->string('dl_state', 50)->nullable(); $table->string('dl_number', 50)->nullable(); $table->string('dl_type', 50)->nullable(); $table->string('facebook', 255)->nullable(); $table->string('twitter', 255)->nullable(); $table->string('religion', 255)->nullable(); $table->string('worship_place', 255)->nullable(); $table->string('armed_service', 255)->nullable(); $table->string('professional_orgs', 255)->nullable(); $table->string('will_info', 255)->nullable(); $table->string('organ_donor', 20)->nullable(); $table->json('bookmarks')->nullable(); $table->boolean('locked')->default(0);; $table->boolean('personnel')->default(0);; $table->rememberToken(); $table->timestamps(); }); هل أنا بحاجة إلى استخدام مكتبة معينة لتحقيق ذلك؟ اقتباس
0 Khaled Osama3 نشر 8 ديسمبر 2023 أرسل تقرير نشر 8 ديسمبر 2023 يمكنك استخدام مكتبة Laravel Excel. تعتبر هذه المكتبة مفيدة لمعالجة ملفات Excel بشكل سهل وفعال. https://docs.laravel-excel.com/3.1/getting-started/ يمكنك تثبيت المكتبة باستخدام Composer: composer require maatwebsite/excel بعد تثبيت المكتبة، يمكنك إعداد ملف التكوين `config/excel.php` عبر الأمر: php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config ثم يمكنك استخدام الكود التالي في وحدة التحكم (`App\Http\Controllers\UserController`) لتحميل ملف Excel وإدراج بياناته في قاعدة البيانات: use Maatwebsite\Excel\Facades\Excel; use App\Imports\UsersImport; public function importUsers() { // استخدام مكتبة Laravel Excel لتحميل ملف Excel Excel::import(new UsersImport, 'users.xlsx'); return 'Users imported successfully!'; } ثم، يجب عليك إنشاء فئة `UsersImport` لمعالجة عملية الاستيراد. يمكنك استخدام الأمر التالي لإنشاء الفئة: php artisan make:import UsersImport ومن ثم، يمكنك تحرير الفئة المنشأة `UsersImport` لتناسب حقول الجدول `users`: namespace App\Imports; use App\Models\User; use Maatwebsite\Excel\Concerns\ToModel; class UsersImport implements ToModel { public function model(array $row) { return new User([ 'prefix' => $row['prefix'], 'firstname' => $row['firstname'], 'middlename' => $row['middlename'], 'lastname' => $row['lastname'], 'suffix' => $row['suffix'], 'slug' => $row['slug'], 'tags' => $row['tags'], 'status' => $row['status'], 'password' => $row['password'], 'email' => $row['email'], 'email_verified_at' => $row['email_verified_at'], 'altemail' => $row['altemail'], 'empnumber' => $row['empnumber'], 'altempnumber' => $row['altempnumber'], 'type' => $row['type'], 'description' => $row['description'], 'dob' => $row['dob'], 'doh' => $row['doh'], 'dos' => $row['dos'], 'separation_reason' => $row['separation_reason'], 'home_number' => $row['home_number'], 'home_street' => $row['home_street'], 'home_street_alt' => $row['home_street_alt'], 'home_city' => $row['home_city'], 'home_state' => $row['home_state'], 'home_postalcode' => $row['home_postalcode'], 'home_county' => $row['home_county'], 'home_country' => $row['home_country'], 'home_lat' => $row['home_lat'], 'home_lng' => $row['home_lng'], 'signature' => $row['signature'], 'logins' => $row['logins'], 'last_login_dt' => $row['last_login_dt'], 'last_login_ip' => $row['last_login_ip'], 'dl_state' => $row['dl_state'], 'dl_number' => $row['dl_number'], 'dl_type' => $row['dl_type'], 'facebook' => $row['facebook'], 'twitter' => $row['twitter'], 'religion' => $row['religion'], 'worship_place' => $row['worship_place'], 'armed_service' => $row['armed_service'], 'professional_orgs' => $row['professional_orgs'], 'will_info' => $row['will_info'], 'organ_donor' => $row['organ_donor'], 'bookmarks' => $row['bookmarks'], 'locked' => $row['locked'], 'personnel' => $row['personnel'], ]); } } يمكنك استخدام دالة `ToModel` لتعيين البيانات المستخرجة إلى نموذج `User`. بعد تكوين ذلك، يمكنك استدعاء دالة `importUsers` عبر الطريقة المناسبة في تطبيق Laravel الخاص بك، مثل إنشاء مسار واستدعاء الوحدة التحكم. اقتباس
0 Mohammad Jumaa نشر 19 ديسمبر 2023 أرسل تقرير نشر 19 ديسمبر 2023 لإدخال بيانات المستخدمين من ملف Excel إلى جدول المستخدمين في Laravel، يمكنك استخدام مكتبة "Laravel Excel"، وهي مكتبة قوية للتعامل مع ملفات Excel في Laravel. فيما يلي خطوات تحقيق هذا الهدف: تثبيت Laravel Excel: أولاً، تحتاج إلى تثبيت مكتبة Laravel Excel باستخدام Composer. يمكنك تثبيتها باستخدام الأمر التالي: composer require maatwebsite/excel إنشاء Import Class: بعد تثبيت المكتبة، قم بإنشاء فئة Import لتحديد كيفية استيراد بيانات Excel إلى جدول المستخدمين. يمكنك إنشاء هذه الفئة باستخدام Artisan Command: php artisan make:import UsersImport --model=User هذا سينشئ فئة UsersImport في مجلد Imports. يمكنك تعديل هذه الفئة لتحديد كيفية قراءة البيانات من ملف Excel وإدراجها في قاعدة البيانات. تعديل UsersImport Class: عليك تعديل UsersImport لتعكس بنية جدول المستخدمين في قاعدتك البيانات. على سبيل المثال: use Maatwebsite\Excel\Concerns\ToModel; use App\Models\User; class UsersImport implements ToModel { public function model(array $row) { return new User([ 'firstname' => $row[0], // وهكذا لبقية الحقول ]); } } إنشاء واجهة لرفع الملف: استخدم Blade لإنشاء نموذج HTML يسمح للمستخدمين برفع ملف Excel. معالجة ملف Excel في الكنترولر: في الكنترولر الخاص بك، أضف الكود اللازم لمعالجة ملف Excel المرفوع واستيراد البيانات باستخدام فئة UsersImport. use Maatwebsite\Excel\Facades\Excel; use App\Imports\UsersImport; public function importExcel(Request $request) { Excel::import(new UsersImport, $request->file('excelFile')); // رد ما بعد الاستيراد } التحقق من البيانات: تأكد من أن بيانات Excel تتطابق مع بنية جدول المستخدمين في قاعدة البيانات. قد تحتاج إلى تعديل الفهرسة في UsersImport بناءً على ترتيب الأعمدة في ملف Excel. أمان البيانات: تأكد من التحقق من صحة البيانات وتنظيفها قبل إدراجها في قاعدة البيانات لتجنب أي مشاكل أمنية أو تكامل البيانات. باتباع هذه الخطوات، ستتمكن من استيراد مستخدمين جد اقتباس
السؤال
Abdelrahman Mostafa10
فيما يلي هو تهجير المستخدمين لدي في المشروع، أحتاج إلى تحميل مستند Excel يحتوي على حقول تحمل نفس أسماء العناوين في صف العناوين في ملف Excel، ويجب إدراج كل صف row كمستخدم جديد.
هل أنا بحاجة إلى استخدام مكتبة معينة لتحقيق ذلك؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.