Hướng dẫn laravel export large data to excel - laravel xuất dữ liệu lớn sang excel
Tôi cần phải xuất một lượng lớn hàng để xuất sắc. Tôi đang sử dụng Laravel-Excel. Tôi đã làm theo tất cả các đề xuất được đưa ra trong tài liệu để xuất cơ sở dữ liệu lớn. Show
Rõ ràng bạn có thể thấy, tôi đang xếp hàng xuất khẩu. Tôi chạy lệnh trong thiết bị đầu cuối.
Nó cung cấp đầu ra như dưới đây cho số lượng lớn các hàng (30000), sau đó xếp hàng: thoát khỏi công việc.queue:work exits.
Tôi nghĩ về việc thay đổi giới hạn bộ nhớ PHP trong tệp php.ini
Tuy nhiên, nó không hoạt động. Đối với số lượng nhỏ hàng đợi hàng: Công việc hoạt động đúng (không thoát) và đầu ra được đưa ra dưới đây.
Câu hỏi của tôi là :- -> Làm thế nào tôi có thể xuất một số lượng lớn các hàng như vậy? -> Tôi đang làm gì sai? -> Có cách nào thay thế để đạt được giống nhau không? -> Tôi có nên tạo một dịch vụ riêng để xuất dữ liệu trong Excel bằng một số ngôn ngữ khác không? -> Có phải là một ý tưởng tốt để thực hiện xử lý nặng như vậy trên máy chủ đầu tiên sản xuất không? Xuất dữ liệu lớn trong tệp Excel hoặc CSV [Laravel]Bạn có thể đang sử dụng 1 với dòng mã sau để xuất báo cáo. Nếu vậy, đối với ít dữ liệu hơn, đây không phải là một vấn đề. Nhưng nếu bạn muốn tải xuống dữ liệu lớn, mã này không được khuyến nghị.Excel::download(new SomeExport, $name . '.xlsx'); Chà, hãy để tôi giới thiệu một thư viện cho 2 để xuất dữ liệu lớn một cách dễ dàng. Nó được gọi là 3. Và đây là những bước bạn cần làm theo.Cài đặt FastExcelCài đặt FastExcel bởi Trình soạn thảo bằng lệnh sau trong thiết bị đầu cuối của bạn. composer require rap2hpoutre/fast-excel // If you get this error // PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted // Use this command instead COMPOSER_MEMORY_LIMIT=-1 composer require rap2hpoutre/fast-excel Mở tệp 4 và thêm dòng mã sau trong khóa 5.'FastExcel' => Rap2hpoutre\FastExcel\Facades\FastExcel::class, Làm thế nào để sử dụng nó?use Rap2hpoutre\FastExcel\FastExcel; use App\User; public function exportUser() { // Load users $users = User::all(); // Export all users in excel FastExcel::data($users)->export('file_name.xlsx'); // Or Export all users in csv FastExcel::data($users)->export('file_name.csv'); } Mã trên sẽ xuất tệp của bạn trong vị trí máy chủ của bạn. Nhưng nếu bạn muốn thực sự tải xuống thì sao? Vâng, điều đó cũng dễ dàng và đây là mã mẫu cho nó. use Rap2hpoutre\FastExcel\FastExcel; use App\User; public function downloadUser() { // Load users $users = User::all(); // Export all users in excel return FastExcel::data($users)->download('file_name.xlsx'); // Or Export all users in csv return FastExcel::data($users)-> download('file_name.csv'); } Xin lưu ý, đừng quên thêm 6 trước tên lớp 7. Nếu bạn quên quay lại, bạn sẽ không thể tải xuống tệp. Nó sẽ chỉ chuyển hướng bạn đến màn hình trống.Tải dữ liệu lớn?Điều gì sẽ xảy ra nếu bạn muốn tải hơn 10 triệu dữ liệu? Vâng, điều đó cũng có thể. Đi qua những điều sau đây để tải các dữ liệu lớn. 0Sử dụng 8, bây giờ ứng dụng đã sẵn sàng để quản lý bộ dữ liệu lớn một cách dễ dàng. Ngoài ra, tôi đã thêm tùy chọn để tùy chỉnh cột Excel khi cần thiết. Trong ví dụ trên, tôi đã thêm tên đầu tiên và tên cuối cùng. Bạn có thể thêm như bạn muốn.Và đó là tất cả những gì bạn cần biết để xuất hoặc tải xuống bộ dữ liệu lớn. Nếu bạn có bất kỳ vấn đề hoặc không thể chạy dự án, bạn có thể hỏi tôi trong phần bình luận. Hy vọng blog này là hữu ích. Cảm ơn bạn. |