Laravel-Excel массивный импорт

Итак, у меня есть файл Excel с 28k строк.

Я хочу загрузить его, а затем вставить в базу данных, но он был просто остановлен. (пустое пространство)
Я пытался сократить до 5К данных, и это сработало, но слишком медленно
Я также пытался использовать ломоть, только с данными 5k, но я получил «Превышено максимальное время выполнения 300 секунд».
вот код

Excel::filter('chunk')->load(storage_path('excel/exports/').$fileName)->chunk(1000, function($results)
{
foreach($results as $key)
{
// even nothing to do
}
});

Строка 5k действительно настолько велика для обработки?
Или я делаю это неправильно?
Благодарю.

3

Решение

Вы делаете это по книге. (Например, с помощью патрона)
Но 28 тыс. Строк — это много данных для обработки.

Вы можете редактировать ваше максимальное время выполнения.
увидеть: http://php.net/manual/en/function.set-time-limit.php

bool set_time_limit ( int $seconds )

Надеюсь, это поможет.

1

Другие решения

Использование чанка прекрасно предотвращает чрезмерное использование памяти, но замедляет время выполнения.

Увеличьте количество фрагментов, если хотите быстрее, но будьте осторожны с этим.

Заметка. Каждый конец фрагмента, ваше приложение будет снова читать файл, и это займет время.

0

По вопросам рекламы [email protected]