Trong phần này, chúng ta sẽ sử dụng Laravel 5.8 để nhập và xuất các tệp CSV. Khi tạo dự án quản trị, yêu cầu chính là xuất-nhập tệp CSV hoặc excel từ cơ sở dữ liệu. Chúng tôi sẽ sử dụng maatwebsite / excel phiên bản 3 để nhập và xuất tệp excel hoặc tệp CSV trong ứng dụng của Laravel 5.8.
Các bài viết liên quan:
Để thực hiện nhiệm vụ nhập và xuất, chúng ta sẽ sử dụng gói trình tổng hợp maatwebsite / excel. maatwebsite / excel sử dụng mô hình cơ sở dữ liệu để nó có thể cung cấp một cách dễ dàng để xuất và nhập. Bằng cách sử dụng excel hoặc maatwebsite đã cập nhật phiên bản 3, chúng ta có thể dễ dàng xuất hoặc nhập cơ sở dữ liệu biểu mẫu dữ liệu cần thiết. Trong phần của chúng tôi, chúng tôi cung cấp quy trình từng bước để thực hiện xuất và nhập, được mô tả như sau:
Bước 1:
Ở bước này, chúng ta sẽ Cài đặt ứng dụng Laravel 5.8. Đối với điều này, chúng tôi sẽ sử dụng lệnh sau. Vì vậy, chúng tôi sẽ mở CMD hoặc thiết bị đầu cuối trong hệ thống của mình và sau đó chạy lệnh sau:
composer create-project --prefer-dist laravel/laravel blog
Bước 2:
Trong bước thứ hai, chúng ta sẽ Cài đặt gói Maatwebsite. Đối với điều này, chúng tôi sẽ sử dụng trình quản lý gói Composer. Đối với điều này, chúng tôi sẽ mở thiết bị đầu cuối của mình và chạy lệnh sau:
composer require maatwebsite/excel
Bây giờ chúng ta sẽ mở tệp của mình có tên là config / app.php. Sau đó, chúng tôi sẽ thêm bí danh và providers.
config / app.php 'providers' => [ .... Maatwebsite\Excel\ExcelServiceProvider::class, ], 'aliases' => [ .... 'Excel' => Maatwebsite\Excel\Facades\Excel::class, ],
Bước 3:
Trong bước thứ ba, chúng ta sẽ Tạo bản ghi giả. Để làm điều này, chúng ta cần một bảng “người dùng”, bảng này sẽ chứa một số bản ghi giả. Sau đó, chúng tôi có thể dễ dàng thực hiện xuất nhập khẩu. Laravel cung cấp cho chúng tôi một số chuyển đổi mặc định. Để thực hiện nhập và xuất, chúng tôi yêu cầu di chuyển đó. Vì vậy, chúng tôi sẽ chạy quá trình di chuyển bằng cách sử dụng lệnh sau:
php artisan migrate
Bây giờ chúng ta cần thêm một số bản ghi giả. Vì vậy, chúng tôi sẽ chạy lệnh dưới đây và thêm một số bản ghi vào tệp người dùng.
php artisan tinker factory(App\User::class, 20)->create();
Bước 4:
Trong bước thứ tư, chúng ta sẽ thêm bộ định tuyến. Đối với điều này, chúng tôi sẽ tạo một tuyến đường xuất và nhập tệp. Vì vậy, chúng tôi sẽ mở tệp của chúng tôi có tên “route / web.php”. Sau đó, chúng tôi sẽ thêm tuyến đường sau:
route / web.php
Bước 5:
Trong bước thứ năm, chúng ta sẽ Tạo một lớp nhập. Để làm điều này, chúng tôi sẽ sử dụng phiên bản maatwebsite 3, được sử dụng để xây dựng lớp nhập khẩu. Chúng tôi sẽ sử dụng controller để sử dụng nó. Khi chúng tôi tạo một lớp Nhập mới bằng cách sử dụng cách này, chúng tôi sẽ nhận ra rằng đó là một cách tuyệt vời để tạo lớp nhập. Đối với điều này, chúng tôi sẽ chạy mã sau:
php artisan make:import UsersImport –model=User
Bây giờ chúng ta mở tệp có tên app / Import / UsersImport.php và chúng ta sẽ thực hiện một số thay đổi trong fie đó, được mô tả như sau:
app / Imports / UsersImport.php
Bước 6:
Trong bước thứ sáu, chúng ta sẽ tạo lớp Export. Để làm điều này, chúng tôi sẽ sử dụng phiên bản maatwebsite 3, được sử dụng để xây dựng lớp xuất khẩu. Chúng tôi sẽ sử dụng controller để sử dụng nó. Khi chúng tôi tạo một lớp Xuất mới bằng cách sử dụng cách này, chúng tôi sẽ nhận ra rằng đó là một cách tuyệt vời để tạo lớp xuất. Đối với điều này, chúng tôi sẽ chạy mã sau:
php artisan make:export UsersExport –model=User
Bây giờ chúng ta mở tệp có tên app / Export / UsersExport.php và chúng ta sẽ thực hiện một số thay đổi trong tệp đó, được mô tả như sau:
app / Exports / UsersExport.php
Bước 7:
Trong bước thứ bảy, chúng ta sẽ tạo controller. Chúng ta sẽ sử dụng đường dẫn “app / Http / Controllers / MyController.php” để tạo một controller mới là MyController. Chế độ xem của yêu cầu importExport và phản hồi trả lại của quá trình nhập và xuất có thể được quản lý dễ dàng bởi controller này. Đối với điều này, chúng tôi sẽ thêm nội dung sau vào tệp controller, được mô tả như sau:
app / Http / Controllers / MyController.php
Bước 8:
Bước thứ tám là bước cuối cùng, được sử dụng để tạo tệp Blade. Đối với điều này, chúng tôi sẽ tạo import.blade.php cho bố cục. Đối với điều này, chúng tôi sẽ viết một số mã được mô tả như sau:
resource / views / import.blade.php
Sử dụng đoạn mã trên, chúng ta có thể dễ dàng xuất và nhập dữ liệu cần thiết vào tệp CSV trong Laravel 5.8. Để chạy đoạn mã trên, chúng ta cần khởi động máy chủ của Laravel 5.8. Đối với điều này, chúng tôi sẽ mở thiết bị đầu cuối hoặc dấu nhắc lệnh và chạy lệnh sau:
php artisan serve
Sử dụng lệnh trên, chúng tôi có thể khởi động máy chủ Laravel. Nó sẽ cung cấp cho chúng tôi url cơ sở của ứng dụng Laravel. Chúng tôi sẽ mở trình duyệt của mình và viết url sau để kiểm tra hoạt động nhập và xuất dữ liệu.
http://127.0.0.1:8000/import-excel
Sau khi nhập url ở trên, chúng ta sẽ thấy kết quả sau:
Bây giờ chúng ta phải chọn tệp excel để nó có thể được tải lên. Trước khi chọn tệp, chúng ta phải tạo một tệp excel như sau:
Bây giờ chúng ta sẽ chọn tệp sample.csv như sau:
Bây giờ, chúng ta sẽ nhấp vào tùy chọn Nhập tệp.
Trong hình trên, chúng ta có thể thấy rằng tệp Mẫu của chúng ta đã được nhập thành công.