Laravel Excel xuất dữ liệu lớn

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

Làm cách nào để xuất dữ liệu trong Excel trong laravel?

Cài đặt gói. Yêu cầu -.
Cập nhật ứng dụng. php. .
xuất bản gói. Chạy lệnh – nhà cung cấp thủ công php. xuất bản --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config. .
Cấu hình cơ sở dữ liệu. Mở. .
Tạo bảng. Tạo một bảng mới Nhân viên sử dụng di chuyển và thêm một số bản ghi. .
Kiểu mẫu. .
Tạo lớp Xuất. .
Tuyến đường

Làm cách nào để tải lên tệp excel lớn trong laravel?

Khi xử lý các tệp lớn, tốt hơn là nhập dữ liệu theo khối lớn. Bạn có thể kích hoạt tính năng này bằng filter['chunk'] ; . Tham số đầu tiên là kích thước của chunk. Tham số thứ hai là một bao đóng sẽ trả về kết quả. To import it into chunks you can use chunk[$size, $callback] instead of the normal get[] . The first parameter is the size of the chunk. The second parameter is a closure which will return the results.

Làm cách nào để xuất dữ liệu nhiều bảng trong Excel bằng laravel?

Có 9 bước đơn giản để làm theo. .
Cài đặt dự án laravel mới
Cấu hình chi tiết cơ sở dữ liệu và mô hình
Cài đặt gói maatwebsite/excel
Tạo tuyến đường
Tạo lớp nhập để nhập dữ liệu
Tạo một lớp xuất để xuất dữ liệu
Tạo bộ điều khiển
Tạo các tập tin lưỡi / xem

Làm cách nào để sử dụng excel nhanh trong laravel?

Gói Excel nhanh cho Laravel .
1sử dụng Rap2hpoutre\FastExcel\FastExcel;
2sử dụng Ứng dụng\Người dùng;
4// Xuất mô hình Người dùng
5$users = Người dùng. tất cả các[];
6[FastExcel mới[$users]]->xuất['tệp. xlsx'];
8//Xuất một bộ sưu tập Bộ sưu tập
9$list = thu thập[[
10 [ 'id' => 1, 'tên' => 'Jane' ],

Chủ Đề