Есть два варианта:
- Первый через базу, например ты вытаскиваешь значения из экселя и пихаешь в базу, дальше ищешь по ней.
- Второй вариант конвертировать экселевский файл в csv и уже через поиск на js делать поиск по нему.
Первый более предпочтительнее поскольку он быстрее за счет поиска через базу.
Второй плох тем что каждый пользователь сначала будет грузить файл, а если он весит более 50 мегабайт то будет не так быстро, так как чтобы в файле найти данные его нужно прочитать.
Вот простейший перегон данных из csv в базу:
например файл base.csv содержал что то вроде:
23;
vk.com
24;
https://yandex.ru
$mysqli = new mysqli('localhost','root','','test'); //соединение с уже созданной базой
if ($file = fopen("base.csv", "r")) { //прочтение файла .csv
while(!feof($file)) { //построчное чтение в цикле
$line = fgets($file);//присвоение прочитанного файла в переменную.
$line = explode(';',$line); //распиливаем значения по точке с запятой
$id = $line[0]; //первое значение до точки запятой
$url = $line[1]; //второе значение после точки запятой
$sql = "INSERT INTO `screen` (`id`, `id_site`, `url`) VALUES (NULL, '$id', '$url');"; //готовим к добавлению в базу новых значений
$mysqli->query($sql); //выполняем запрос в базу
}
fclose($file); //заканчиваем чтение файла
}
$mysqli->close();//закрываем соединение с базой