Bài viết này sẽ cung cấp ví dụ về laravel 9 import export excel. từng bước giải thích laravel 9 nhập xuất csv. bạn sẽ học nhập xuất tệp csv trong laravel 9. từng bước giải thích laravel 9 nhập tệp excel
chúng tôi sẽ sử dụng gói trình soạn thảo maatwebsite/excel cho các tác vụ nhập và xuất. trong ví dụ này, tôi sẽ tạo một biểu mẫu đơn giản để nhập liệu nơi bạn có thể tải tệp csv lên và tạo nhiều người dùng. Sau đó, tôi sẽ tạo một lộ trình xuất sẽ tải xuống tất cả người dùng từ cơ sở dữ liệu trong một tệp excel
Vì vậy, hãy làm theo các bước dưới đây để tạo chức năng nhập và xuất trong ứng dụng laravel 9. bạn có thể xuất tập tin với. csv,. xls và. tập tin xlsx
Bước 1. Cài đặt Laravel 9
Bước này không bắt buộc;
composer create-project laravel/laravel example-app
Bước 2. Cài đặt gói maatwebsite/excel
Trong bước này, chúng ta cần cài đặt gói maatwebsite/excel thông qua trình quản lý gói Composer, do đó, một thiết bị đầu cuối của bạn và kích hoạt lệnh dưới đây
composer require psr/simple-cache:^1.0 maatwebsite/excel
Nếu bạn đang sử dụng ít phiên bản laravel 9 hơn thì hãy sử dụng lệnh dưới đây
composer require maatwebsite/excel
Bước 3. Tạo bản ghi giả
Trong bước này, chúng tôi sẽ tạo một số bản ghi giả cho bảng người dùng, vì vậy chúng tôi có thể xuất chúng với người dùng đó. Vì vậy, hãy chạy lệnh tinker dưới đây
php artisan tinker
User::factory[]->count[10]->create[]
Bước 4. Tạo lớp nhập khẩu
Trong phiên bản maatwebsite 3 cung cấp cách để xây dựng lớp nhập khẩu và chúng ta phải sử dụng trong bộ điều khiển. Vì vậy, đây sẽ là cách tuyệt vời để tạo lớp Nhập mới. Vì vậy, bạn phải chạy lệnh sau và thay đổi mã sau trên tệp đó
php artisan make:import UsersImport --model=User
ứng dụng/Nhập/UsersImport. php
namespace App\Imports;
use App\Models\User;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
use Hash;
class UsersImport implements ToModel, WithHeadingRow
{
/**
* @param array $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function model[array $row]
{
return new User[[
'name' => $row['name'],
'email' => $row['email'],
'password' => Hash::make[$row['password']],
]];
}
}
Bạn có thể tải xuống tệp csv demo từ đây. Tệp CSV trình diễn
Bước 5. Tạo lớp xuất
phiên bản maatwebsite 3 cung cấp cách để xây dựng lớp xuất khẩu và chúng tôi phải sử dụng trong bộ điều khiển. Vì vậy, đây sẽ là cách tuyệt vời để tạo lớp Xuất mới. Vì vậy, bạn phải chạy lệnh sau và thay đổi mã sau trên tệp đó
php artisan make:export UsersExport --model=User
ứng dụng/Xuất khẩu/UsersExport. php
namespace App\Exports;
use App\Models\User;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
class UsersExport implements FromCollection, WithHeadings
{
/**
* @return \Illuminate\Support\Collection
*/
public function collection[]
{
return User::select["id", "name", "email"]->get[];
}
/**
* Write code on Method
*
* @return response[]
*/
public function headings[]: array
{
return ["ID", "Name", "Email"];
}
}
Bước 6. Tạo bộ điều khiển
Trong bước này, chúng ta sẽ tạo UserController với phương thức index[], export[] và import[]. Vì vậy, trước tiên hãy tạo bộ điều khiển bằng cách làm theo lệnh và cập nhật mã trên đó
________số 8_______Bây giờ, hãy cập nhật mã trên tệp UserController
ứng dụng/Http/Bộ điều khiển/UserController. php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Exports\UsersExport;
use App\Imports\UsersImport;
use Maatwebsite\Excel\Facades\Excel;
use App\Models\User;
class UserController extends Controller
{
/**
* @return \Illuminate\Support\Collection
*/
public function index[]
{
$users = User::get[];
return view['users', compact['users']];
}
/**
* @return \Illuminate\Support\Collection
*/
public function export[]
{
return Excel::download[new UsersExport, 'users.xlsx'];
}
/**
* @return \Illuminate\Support\Collection
*/
public function import[]
{
Excel::import[new UsersImport,request[]->file['file']];
return back[];
}
}
Bước 7. Tạo tuyến đường
Ở bước này, chúng ta cần tạo route cho danh sách user, import user và export user. vì vậy hãy mở "tuyến đường/web. php" và thêm tuyến đường sau
tuyến đường/web. php
0composer require psr/simple-cache:^1.0 maatwebsite/excel
Bước 8. Tạo tập tin lưỡi dao
Ở bước cuối cùng, hãy tạo người dùng. lưỡi. php[tài nguyên/lượt xem/người dùng. lưỡi. php] để bố trí và chúng tôi sẽ viết mã thiết kế tại đây và đặt đoạn mã sau
tài nguyên/lượt xem/người dùng. lưỡi. php
1composer require psr/simple-cache:^1.0 maatwebsite/excel
Chạy ứng dụng Laravel
Tất cả các bước cần thiết đã được thực hiện, bây giờ bạn phải nhập lệnh bên dưới và nhấn enter để chạy ứng dụng Laravel