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 Nội dung chính Hiển thị
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 1 2 'birthday' => PhpOfficePhpSpreadsheetSharedDate. excelToDateTimeObject($hàng['birthday'] ?? $row['ngay_sinh'])->format('Y-m-d')
Trong 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 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 1 2 Tuyến đường. Bài đăng('nhập/người dùng', '[email protected]');
2. chèn hàng loạtKhi 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úcKhá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' => $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 |