Laravel excel hàng đợi xuất khẩu

Ngày nay, khi làm ứng dụng web chắc chắn nhiều bạn đã từng nghĩ đến việc nhập và xuất dữ liệu vào cơ sở dữ liệu thông qua các tệp như excel, csv (nhập danh sách sản phẩm, bài viết, người dùng…) bởi . Trong bài viết hôm nay mình sẽ giới thiệu đến các bạn gói Maatwebsite/Laravel-Excel, thứ có thể đáp ứng được hết những cái như cấu mình nêu ở trên với rất nhiều tính năng đi kèm

Nội dung chính Hiển thị

  • 2. Cài đặt gói
  • 1. Xuất một tệp
  • 2. Lấy dữ liệu theo điều kiện
  • 3. Xuất file dựa trên excel. php7 của laravel
  • 4. Tạo các trang tính Maatwebsite/Laravel-Excel7
  • 1. Nhập một tệp
  • 2. chèn hàng loạt
  • 3. đọc khúc

Phiên bản mình sử dụng sẽ là phiên bản 3. 1 và dưới đây mình sẽ hướng dẫn dựa trên các ví dụ nhỏ, giúp các bạn dễ hình dung trong quá trình tìm hiểu về package. Start abort any

Laravel excel hàng đợi xuất khẩu

Laravel excel :: nhập dữ liệu lớn

1

2

'birthday' => PhpOfficePhpSpreadsheetSharedDate. excelToDateTimeObject($hàng['birthday'] ?? $row['ngay_sinh'])->format('Y-m-d')

 

Trong excel.php4

1

2

3

4

5

6

7

8

9

10

11

12

13

.. .

sử dụng AppImportsUserImport;

 

lớp Trình điều khiển người dùng mở rộng Trình điều khiển

{

.. .

    chức năng công khai nhập()

    {

        $nhập = Excel::nhập(mới UserImport, request()->file('user_file'));

        trả lại chuyển hướng()->back()->with('success', 'Success!!!');

    }

}

 

Trong tệp import3

1

2

3

4

5

6

7

8

9

10

11

< biểu mẫu hành động="{{URL::to('import/user')}}" phương thức="POST" enctype="multipart/form-data">

    {{ csrf_field() }}

    <nhãn for="user-file">

        <div class="btn sbold green"> Add

            <i class="fa fa-plus"></i>

        </div>

    </label>

    <đầu vào id="user-file" type="file" name="user_file" class="hidden" accept=".xlsx, .xls, .csv, .ods">

    <nút type="submit">Import</button>

</ biểu mẫu>

 

Trong config/app.php8

1

2

Tuyến đường. Bài đăng('nhập/người dùng', '[email protected]');

 

2. chèn hàng loạt

Khi bạn nhập một tệp lớn đồng nghĩa với việc một lượng lớn hàng hóa sẽ được nhập từ đó dẫn đến hậu quả là bị gián đoạn hay gọi là thắt lưng cổ chai và điều đó sẽ ảnh hưởng đến công việc nhập dữ liệu. Bằng cách khai thác WithBatchInserts, chúng ta sẽ giải quyết vấn đề đó bằng cách xác định dòng số lượng sẽ được nhập vào cơ sở dữ liệu mỗi lần

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

sử dụng MaatwebsiteExcelConcernsWithBatchInserts;

 

lớp UsersImport triển khai ToModel, WithBatchInserts

{

    chức năng công khai mô hình(array $row)

    {

        trả lại mới Người dùng([

            'name' => $row[0],

        ]);

    }

    

   chức năng công khai lô kích thước(< . ): int

    {

        hoàn trả 1000;

    }

}

 

3. đọc khúc

Khác với phần trên, đoạn đọc sẽ quyết định số lượng dòng sẽ đọc mỗi lần thay vì đọc hết rồi lưu tạm vào bộ nhớ, từ đó việc sử dụng bộ nhớ sẽ giảm đi, giúp việc kiểm tra bộ nhớ được tốt hơn

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

sử dụng MaatwebsiteExcelConcernsWithChunkReading;

 

lớp UsersImport triển khai ToModel, WithChunkReading

{

    chức năng công khai mô hình(array $row)

    {

        trả lại mới Người dùng([

            'name' =&gt; $row[0],

        ]);

    }

    

    hàm công khai Kích thước đoạn(): int

    {

        hoàn trả 1000;

    }

}

 

Trên đây là một vài tính năng cơ bản và dữ liệu hữu ích mà gói Maatwebsite/Laravel-Excel đã trả lại, giúp ích khá nhiều trong việc nhập xuất dữ liệu với Excel. Nếu bạn muốn tìm hiểu thêm các tính năng khác thì hãy đọc docs của Maatwebsite link mình để ở bên dưới