Chúng tôi đã xem một số hướng dẫn về Laravel dành cho người mới bắt đầu và thông qua một trong các bài đăng trên blog của chúng tôi, chúng tôi đã nhận được một truy vấn- Laravel 8 export data excel file with example. Vì vậy, ở đây chúng ta có một hướng dẫn khác về Laravel
Trong hướng dẫn từng bước xuất dữ liệu Laravel 8 dưới dạng tệp excel này, chúng tôi sẽ xây dựng một ứng dụng demo trong đó chúng tôi sẽ sử dụng gói maatwebsite/excel để xuất dữ liệu. Bạn có thể quen thuộc với gói;
Chúng tôi sẽ xây dựng một ứng dụng demo, nơi chúng tôi sẽ xem cách triển khai chức năng xuất Excel trong Laravel bằng gói maatwebsite/excel
Mục tiêu hướng dẫn. Laravel 8 Xuất dữ liệu dưới dạng tệp Excel với ví dụ
Trước khi bắt đầu phần phát triển, hãy xem video dưới đây để bạn có thể hình dung về những gì chúng ta sẽ xây dựng trong blog này
Tạo một mô hình với Migration
Chạy lệnh này để tạo một phương thức
php artisan make:model Student -m
// Sinh viên. php
Ở đây chúng ta phải lưu trữ dữ liệu sinh viên để tạo bảng và xác định các trường của bảng
Tạo một bảng dữ liệu
Chuyển đến thư mục cơ sở dữ liệu/di chuyển, sau đó mở tệp di chuyển và viết đoạn mã sau
// 2021_07_16_041455_create_students_table
id[]; $table->string['name']; $table->string['email']; $table->string['city']; $table->timestamps[]; }]; } /** * Reverse the migrations. * * @return void */ public function down[] { Schema::dropIfExists['students']; } }
Chúng tôi sẽ tạo một bảng bằng cách sử dụng các trường trên
Bây giờ hãy chạy lệnh này. Lệnh này hữu ích để tạo các bảng thực tế trong GUI và di chuyển các bảng trong cơ sở dữ liệu
Cài đặt gói maatwebsite/excel
Để cài đặt maatwebsite/excel, hãy chạy lệnh được đề cập bên dưới
composer require maatwebsite/excel.
Với sự trợ giúp của gói này, chúng tôi có thể xuất dữ liệu thành tệp excel
Bây giờ hãy mở cấu hình/ứng dụng. php và thêm nhà cung cấp dịch vụ và bí danh
'providers' => [ .... Maatwebsite\Excel\ExcelServiceProvider::class, ], 'aliases' => [ .... 'Excel' => Maatwebsite\Excel\Facades\Excel::class, ],
Xác định các tuyến đường
Các tuyến đường được yêu cầu để điều hướng các trang web nhằm xác định các tuyến đường trong ứng dụng demo của chúng tôi, các tuyến đường mở/web. php và sử dụng đoạn mã sau
// web. php
Route::resource['student', StudentController::class]; Route::get['student_export',[StudentController::class, 'get_student_data']]->name['student.export'];
Tạo một lớp xuất khẩu
Trong phần này, chúng ta sẽ tạo một lớp xuất và xác định mô hình mà nó được kết nối. Gói maatwebsite cung cấp cách xây dựng lớp xuất để chúng tôi có thể sử dụng thêm trong bộ điều khiển
Chạy lệnh dưới đây cho cùng
php artisan make:export StudentExport --model=Student
Ở đây lớp StudentExport sẽ xác định dữ liệu mà chúng tôi muốn xuất trong tệp excel của chúng tôi
Chuyển đến ứng dụng/Xuất khẩu/StudentExport. php và thực hiện các thay đổi sau trong mã của bạn
// Sinh viênXuất khẩu. php
Hàm tiêu đề [] sẽ xác định tiêu đề sẽ được hiển thị trong tệp excel
Phương thức collection[] sẽ trả về dữ liệu mà chúng ta phải xuất. Ở đây trong ứng dụng demo của chúng tôi, chúng tôi sẽ xuất tất cả dữ liệu sinh viên bằng Mô hình sinh viên
Tạo bộ điều khiển
Trước khi tạo bộ điều khiển, chúng ta phải thực hiện một yêu cầu
Lệnh tạo yêu cầu
php artisan make::request StoreStudentRequest
Dưới đây là các quy tắc xác thực được áp dụng để nhập dữ liệu sinh viên
public function rules[] { return [ 'name' => 'bail|required|string|max:255', 'email' => 'bail|required|string|email|max:255', 'city' => 'bail|required|string|max:255' ]; } }
Chạy lệnh này để tạo bộ điều khiển tài nguyên để viết logic
________số 8
Truy cập ứng dụng/Http/Bộ điều khiển/StudentController. php và viết mã
// Bộ điều khiển sinh viên. php
name = $request->name; $student->email = $request->email; $student->city = $request->city; $student->save[]; return redirect[route['student.index']]->with['success','Data submited successfully!']; } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show[$id] { // } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit[$id] { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update[Request $request, $id] { // } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy[$id] { // } public function get_student_data[] { return Excel::download[new StudentExport, 'students.xlsx']; } }
Bây giờ chúng ta sẽ sử dụng phương thức tải xuống gói Laravel excel trong hàm get_student_data[]. Nó sẽ chấp nhận hai tham số. lớp xuất và tên của tệp [bạn có thể đặt tên cho bất cứ thứ gì bạn muốn]
Tham số thứ hai là tên của tệp mà chúng tôi muốn xuất dữ liệu
- Hàm create[] được sử dụng để tạo biểu mẫu
- Phương thức store[] được sử dụng để lưu trữ dữ liệu trong cơ sở dữ liệu
- Phương thức index[] dùng để hiển thị dữ liệu
Tạo Chế độ xem để Thêm Bản ghi và Hiển thị Chi tiết
Chuyển đến thư mục tài nguyên/lượt xem. Tạo bố cục thư mục mới với tệp có tên chính. lưỡi. php
// chủ yếu. lưỡi. php
Bây giờ hãy tạo một thư mục khác trong thư mục lượt xem có tên là sinh viên. Chúng tôi phải thêm hồ sơ của học sinh và để làm được điều đó, chúng tôi sẽ cần các biểu mẫu. Các biểu mẫu được xác định trong tệp xem
đây chính. lưỡi. php là tệp bố cục gốc chứa tất cả đầu trang và chân trang chung
Trong thư mục Sinh viên, tạo hai tệp, cụ thể là. tạo ra. lưỡi. php và chỉ mục. lưỡi. php
việc tạo ra. lưỡi. Cần có file php để tạo form để sinh viên nhập dữ liệu. mở tạo. lưỡi. php và viết đoạn mã sau
//tạo ra. lưỡi. php
id[]; $table->string['name']; $table->string['email']; $table->string['city']; $table->timestamps[]; }]; } /** * Reverse the migrations. * * @return void */ public function down[] { Schema::dropIfExists['students']; } }0
trong chỉ mục. lưỡi. php, chúng tôi đã hiển thị dữ liệu Sinh viên ở dạng bảng và chúng tôi có thể dễ dàng tải xuống dữ liệu và xuất dữ liệu dưới dạng tệp excel bằng cách nhấp vào nút Xuất
// mục lục. lưỡi. php
id[]; $table->string['name']; $table->string['email']; $table->string['city']; $table->timestamps[]; }]; } /** * Reverse the migrations. * * @return void */ public function down[] { Schema::dropIfExists['students']; } }1
Chạy ứng dụng Demo
Phần cuối của bài hướng dẫn laravel 8 xuất dữ liệu ra file excel là chạy app. Bây giờ là lúc để chạy bản demo của chúng tôi. Chạy lệnh dưới đây
Sau khi chạy máy chủ thành công, bạn có thể thấy ứng dụng đang hoạt động
http. //máy chủ cục bộ. 8000/học sinh/tạo
Kho lưu trữ GitHub
Toàn bộ mã nguồn có sẵn ở đây. laravel-excel-xuất-ví dụ. Vui lòng sao chép repo và chơi xung quanh với mã
Sự kết luận
Hi vọng bài hướng dẫn xuất dữ liệu laravel 8 ra file excel hữu ích với các bạn. Bạn là người đam mê laravel và cảm thấy khó khăn với những bài hướng dẫn cơ bản? . Vui lòng truy cập và khám phá thêm các hướng dẫn về laravel như vậy
Bacancy có các nhà phát triển laravel tận tâm, lành nghề và giàu kinh nghiệm với các kỹ năng giải quyết vấn đề. Nếu bạn đang tìm kiếm các nhà phát triển laravel có thể giúp bạn với các yêu cầu và dự án của bạn thì không cần lãng phí thời gian, hãy liên hệ với Bacancy và thuê nhà phát triển laravel