Что лучше использовать для парсинга больших XLS документов, где внутри для каждой строки нужно делать много проверок в соответствующих полях, формировать массив и записывать в базу. И в последующих импортах нужно будет и редактировать те что уже записаны и вносить изменения. Это очень трудоемкая операция. Работаю на PHP использую PHPOffice. Может стоит написать самому или использовать какой то NodeJS.
Можно на любом языке.
В PHP при работе через старый PHPOffice или новый PhpSpreadsheet можно большие файлы прогонять через ChunkReadFilter как предложено здесь.
Вставлять в БД удобнее не по одной строке, а пачкой вроде:
INSERT INTO items (a,b,c) VALUES (1,2,3), (4,5,6), (7,8,9);
А чтобы перезаписывать старые строки можно формировать запросы как INSERT IGNORE
или INSERT ON DUPLICATE
.
Если импорт будет долгий, то в контроллере можно только загружать файл, а импорт уже запускать в фоне через очередь.
Или войти через: