Xin chào các bác. lại là em đây ] Em chắc nhiều bác khi làm project đã được yêu cầu import file excel hoặc file csv vào database. Khi đó chúng ta thường sẽ nghĩ ngay đến các hàm xử lý mà php cung cấp sẵn như fopen để đọc tệp, fgetcsv để đọc tệp csv. Tuy nhiên hôm nay em sẽ giới thiệu đến các bạn 1 gói Hỗ trợ ta đọc, xuất file excel hay file csv một cách rất dễ dàng và nhanh chóng. And that main is maatwebsite/excel. Nhưng hôm nay em sẽ không làm import file bình thường mà em chủ yếu tập tin chủ yếu vào việc validate dữ liệu trong file import. Cùng bắt đầu nhé
Nội dung chính Hiển thị
- Lời nói đầu
- Khởi tạo dự án
- Tạo tuyến đường
- Tạo lưỡi xem
- Tạo biểu mẫu yêu cầu
- Cài đặt Laravel excel
- Kết quả
- Kết Luận
Khởi tạo dự án
đầu tiên thì các bác hãy tạo một project laravel mới
composer create-project --prefer-dist laravel/laravel test_import_csv_file "5.8.*"
Tạo tuyến đường
Sau khi cài xong project thì các bác vào file
use Illuminate\Http\Request;
...
Route::post['/import', function [Request $request] {
return view['welcome'];
}]->name['import.csv'];
1 and more as after. use Illuminate\Http\Request;
...
Route::post['/import', function [Request $request] {
return view['welcome'];
}]->name['import.csv'];
để cho nhanh và thuận tiện thì em dùng luôn chức năng đóng ở route, không cần mất thời gian tạo controller =]]
Tạo lưỡi xem
Chắc chắn rồi, chúng ta cần một giao diện để thực hiện chức năng nhập dữ liệu. em tận dụng luôn chào mừng tập tin. lưỡi. php to add form import to nhé
DOCTYPE html>
Laravel
html, body {
background-color: #fff;
color: #636b6f;
font-family: 'Nunito', sans-serif;
font-weight: 200;
height: 100vh;
margin: 0;
}
.full-height {
height: 100vh;
}
.flex-center {
align-items: center;
display: flex;
justify-content: center;
}
.position-ref {
position: relative;
}
.top-right {
position: absolute;
right: 10px;
top: 18px;
}
.content {
text-align: center;
}
.title {
font-size: 84px;
}
.links > a {
color: #636b6f;
padding: 0 25px;
font-size: 13px;
font-weight: 600;
letter-spacing: .1rem;
text-decoration: none;
text-transform: uppercase;
}
.m-b-md {
margin-bottom: 30px;
}
@csrf
Submit
Giờ các bác chỉ cần cấu hình thêm cơ sở dữ liệu là chúng ta có thể bắt đầu thực hiện xác thực dữ liệu từ file csv rồi
Tạo biểu mẫu yêu cầu
Tất nhiên rồi, để xác thực các bản ghi dữ liệu bên trong tệp csv thì trước tiên chúng ta phải xác thực tệp tải lên máy chủ trước sai nào. Các bác hãy tạo form request như sau
php artisan make:request ImportCsvFileRequest
Laravel sẽ tạo ra cho chúng ta tệp
use Illuminate\Http\Request;
...
Route::post['/import', function [Request $request] {
return view['welcome'];
}]->name['import.csv'];
2 with the content as after