Hướng dẫn how can i upload a large excel file to laravel? - Làm cách nào tôi có thể tải tệp excel lớn lên laravel?

Khi xử lý các tệp lớn, tốt hơn là nhập dữ liệu bằng các khối lớn. Bạn có thể kích hoạt điều này với

composer create-project --prefer-dist laravel/laravel import_excel "5.4.*"
1; Để nhập nó vào các khối, bạn có thể sử dụng
composer create-project --prefer-dist laravel/laravel import_excel "5.4.*"
2 thay vì
composer create-project --prefer-dist laravel/laravel import_excel "5.4.*"
3 bình thường. Tham số đầu tiên là kích thước của khối. Tham số thứ hai là một đóng cửa sẽ trả về kết quả.

# Excelfile Lớp ví dụ:

Khi làm việc với các lần tiêm Excelfile (trong hàm tạo hoặc là tiêm phương pháp), bạn có thể bật bộ lọc chunk bên trong lớp Excelfile

Ví dụ Excelfile được tiêm:

# Xếp hàng

Chúng tôi tự động xếp hàng mọi đoạn cho bạn, nếu bạn đã bật trình điều khiển hàng đợi trong cấu hình của bạn.

Nếu bạn muốn thông qua hành vi, bạn có thể vượt qua

composer create-project --prefer-dist laravel/laravel import_excel "5.4.*"
4 dưới dạng tham số thứ ba của
composer create-project --prefer-dist laravel/laravel import_excel "5.4.*"
5.

Một hàng đợi công việc không mặc định có thể được chỉ định bằng cách chuyển tên của nó là tham số thứ ba của

composer create-project --prefer-dist laravel/laravel import_excel "5.4.*"
5.

Chạy hàng đợi

Mã nguồn ở đây

Tôi đang tạo một hệ thống để tải lên và lưu tất cả dữ liệu từ bảng Excel/CSV sang cơ sở dữ liệu. Nó hoạt động tốt cho các tệp nhỏ nhưng bất cứ khi nào tôi cố gắng tải lên các tệp lớn như 250MB, 500MB tệp, tôi gặp lỗi

Plugin tôi đang sử dụng với laravel là maatwebsite 3.1

Đã hỏi ngày 26 tháng 12 năm 2018 lúc 14:26Dec 26, 2018 at 14:26

Hemant Mauryahemant MauryaHemant Maurya

1191 Huy hiệu vàng4 Huy hiệu bạc13 Huy hiệu đồng1 gold badge4 silver badges13 bronze badges

2

Thử đặt giá trị của upload_max_filesize và post_max_size trong php.ini của bạn:

; Kích thước tối đa được phép cho các tập tin được tải lên.

composer create-project --prefer-dist laravel/laravel import_excel "5.4.*"
7

; Phải lớn hơn hoặc bằng với upload_max_filesize

composer create-project --prefer-dist laravel/laravel import_excel "5.4.*"
8

Nhưng nó không được khuyến khích, vì nó có thể gây quá tải máy chủ.

Đã trả lời ngày 26 tháng 12 năm 2018 lúc 14:37Dec 26, 2018 at 14:37

Hướng dẫn how can i upload a large excel file to laravel? - Làm cách nào tôi có thể tải tệp excel lớn lên laravel?

1

Cố gắng chia hoặc hàng loạt nhập: https://laravel-excel.maatwebsite.nl/3.1/imports/chunk-reading.html

Dưới đây là một ví dụ từ Hướng dẫn tài liệu:

namespace App\Imports;

use App\User;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithChunkReading;

class UsersImport implements ToModel, WithChunkReading
{
    public function model(array $row)
    {
        return new User([
            'name' => $row[0],
        ]);
    }

    public function chunkSize(): int
    {
        return 1000;
    }
}

Đã trả lời ngày 26 tháng 12 năm 2018 lúc 14:37Dec 26, 2018 at 14:37

Cố gắng chia hoặc hàng loạt nhập: https://laravel-excel.maatwebsite.nl/3.1/imports/chunk-reading.htmlsridesmet

Dưới đây là một ví dụ từ Hướng dẫn tài liệu:9 silver badges19 bronze badges

sridesmetsridesmet

8659 Huy hiệu bạc19 Huy hiệu đồng

Đặt

composer create-project --prefer-dist laravel/laravel import_excel "5.4.*"
9 của bạn trong tệp .ENV của bạn.May 25, 2020 at 10:03

Hướng dẫn how can i upload a large excel file to laravel? - Làm cách nào tôi có thể tải tệp excel lớn lên laravel?

Tôi luôn có một '504 thời gian' khi tải lên tệp excel lớn. Nhưng với 'Queue_driver = cơ sở dữ liệu', nó tải lên hoàn hảo.

Đã trả lời ngày 25 tháng 5 năm 2020 lúc 10:03

composer create-project --prefer-dist laravel/laravel import_excel "5.4.*"

Bỏ qua nội dung

php artisan queue:table
php artisan queue:failed-table
php artisan migrate

Dự án tạo với Tênn: nhập khẩu_excel

CREATE TABLE `city` (
	`id` INT(11) NOT NULL AUTO_INCREMENT,
	`name` VARCHAR(250) NULL DEFAULT NULL COLLATE 'utf8_general_ci',
	`created_date` DATETIME NULL DEFAULT NULL,
	PRIMARY KEY (`id`) USING BTREE
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB

Cơ sở dữ liệu cho công việc

QUEUE_DRIVER=database

Thành phố Tạo Table

Tệp Cấu Hình .Env

composer require "maatwebsite/excel:~2.1.0"

Dữ liệu tệp Excel ở Thư mục công khai: Việt Nam.xlsx

Maatwebsite\Excel\ExcelServiceProvider::class,

Cài đặt Laravel Excel:

'Excel' => Maatwebsite\Excel\Facades\Excel::class,

Chỉnh sửa config/app.php thênm vào nhà cung cấp

php artisan make:job ImportExcel

Chỉnh sửa config/app.php thênm vào bí danh

Route::get('/import','ImportController@import');

Tạo và thênm công việc vào

Nhập khẩu tuyến đường
http://localhost/import_excel/public/index.php/import

Chạy hàng đợi

composer create-project --prefer-dist laravel/laravel import_excel "5.4.*"
0

Mã nguồn ở đây