@victor-ponamariov

Как импортировать большой xlsx в MySQL?

Добрый вечер.

Есть следующая задача от заказчика: на почту каким-то менеджерам приходит раз в 1-2 неделю на почту письмо с екселевским файлом который содержит 60к строк. История клиентов или типа того.

Эти менеджеры в какой-то момент достают планшет, и хотят отфильтровать этот файл по номеру клиента. Они ни в чем не разбираются и им нужно сделать страничку с одним инпутом где бы они вбили номер клиента и получили на почту выборку по данному клиенту из этого xlsx файла в нужном формате (pdf/xlsx/csv или просто текстом на почту в виде таблички).

Заказчик сказал сделать так - когда приходит письмо с файлом, он берет и копирует файл в папку и вызвает URL, по которому происходит импорт в БД. Например site.ru/import. После чего можно зайти на лендинг site.ru и запросить выборку из БД.

То есть если по нормальному, то я бы в экселевском файле сделал бы фильтр по номеру клиента или вроде того (сам в екселе не сижу). Но вот хотят это через веб сделать.

Сайт будет на хостинге, у которого 180 секунд max_execution_time и 256 Мб на оперативку PHP. Пробовал импротить через PHPExcel, один парсинг занимает пару минут. Может конечно я что-то не так настраиваю, но все равно, мне кажется вставлять в БД потом еще 60к строк долго будет по времени.

Единственный вариант который приходит на ум - запустить крон, который импортил бы по частям, где нибудь сделать таблицу в которой хранить сколько уже заимпортили или типа того. Ну и пусть себе импортит минут 10 (за 10 вызовов).

Как это все лучше сделать?
  • Вопрос задан
  • 2708 просмотров
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Там внутри XML, завёрнутый в ZIP, так что любыми средствами для разбора XML.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Ведисофт Екатеринбург
от 25 000 ₽
YCLIENTS Москва
от 200 000 до 350 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
04 мая 2024, в 17:40
1000 руб./за проект
04 мая 2024, в 17:35
150000 руб./за проект
04 мая 2024, в 17:22
1000 руб./за проект