Взять из excel поместить в MySQL
Есть большой файл Excel (20мб ~ 30к строк) нужно убрать лишний мусор, такой например как заголовки (это можно впринципе перескочив к определенной строке, и добавить остальную часть файла
Выглядит она так:
категория
подкатегория
|спецID1 | НазваниеТовара1 | ЦенаТовара1.|
|спецID2 | НазваниеТовара2 | ЦенаТовара2.|
|спецID3 | НазваниеТовара3 | ЦенаТовара3.|
|спецID4 | НазваниеТовара4 | ЦенаТовара4.|
категория
подкатегория
|спецID1 | НазваниеТовара1 | ЦенаТовара1.|
|спецID2 | НазваниеТовара2 | ЦенаТовара2.|
подкатегория
|спецID1 | НазваниеТовара1 | ЦенаТовара1.|
|спецID2 | НазваниеТовара2 | ЦенаТовара2.|
--------------------------------------------------------------
Как с такими данными работать если Phpexcel виснет при таком большом количестве данных и вообще очень долго делает обработку
Как выделять категории и добавлять их например в разные таблицы или просто присваивать id категорий и подкатегорий в строки следующие после записей
Собственно проблема именно в том, что сам исходник (excel файл) доступен только в таком варианте.
думаю над тем чтонапример сохранять excel как html а поом реплейсами доводить его до запросов в БД.
PhpExcel можно не грузить весь файл целиком в оперативку а читать итератором по одному листу
+ Там можно в конфиге выставить по сколько памяти читать за одну иттерацию
+ Там есть кеширование в файл sqlite или ещё куда то
Притаких настройках он не будет падать из-за не хватки памят. С просто очень медленно по полной строке будет обрабатывать данные
Разбейте по разным файлам (например по категориям) банальным копипастом в экселе. Пересохраните как текст с разделителями и загружайте в мускул через PHPmyAdmin