Всем привет. Встала такая проблема: на сайте есть форма с несколькими select и одним input в который клиент вводит тираж заказа. Цены на продукцию лежат в файле excel .xlsx . При различных select, цены разные. Как мне из файла excel брать динамически цены ? К примеру клиент выбирает select визитки и вводит количество 2. Мне нужно взять цену визитки( а она зависит еще и от тиража) и умножить на 2. Потом захочет произвести расчет другой продукции. Пока только расчет.
Менеджер знает только excel, перебить в mysql в связи с большим количеством таблиц в excel и их сложность не реально.
Нужно каким-то образом брать значение из нужно ячейки ?
Конвертируйте все xls в csv, дальше на js конвертируйте csv в массив и считываете нужную Вам колонку по индексу...
Либо маленький серверный скрипт, который по запросу к нему вернет из нужного файла значение нужной колонки, там можно и CSV и XLS ридеры найти и без всяких баз :)
Вот только одна проблема в одном excel есть несколько таблиц. А cvs для каждой таблицы создает файл, у меня их 3. Такой вариант не подходит. Я нашел в интернете библиотеку js-xlsx. Для него необходим NodeJS. Я делаю так сказать подсистему для сайта, который сделан на 1С: Битрикс. Возможно ли установка на него NodeJS ?
То есть я хотел написать сайт у меня на хостинге и node.js и js-xlsx не мой вариант, так как для этой связки необходим минимум VDS/VPS.
Мне предложили сделать БД и написать для менеджера возможность синхронизировать excel, к примеру если изменяться цены. И AJAX в зависимости от select выбирать цену.
Что думайте по поводу такого варианта ? Еще есть проблемка в том, что значения нужно выбирать, как бы перекрестным способом, то есть цена зависит и от столбца и от строки. Я даже не представляю, как в таком случае делать структуру.
RazerVG: Ну самый правильный вариант это конечно база, т.к у этого варианта самая быстрая скорость обработки запроса.
Насчет, как хранить такую структуру в БД могу ответить только приблизительно, т.к я не до конца понял, как в файле цены хранятся.
Если скажем в файле, строки это типы (визитки и т.д), столбцы это размеры, я перекрест их - это цена.
То Вам нужно будет три таблицы, первая для хранения типа, вторая для хранения размера и третья для организации связи с ценой (typeId, sizeId, price). Тогда для получения цены вам нужно будет запросить из третей таблицы по условию typeId=A AND sizeId=B.
RazerVG: А почему вариант с тремя csv файлами не подходит?. Если там все три таблицы однородные, тогда их можно склеить в один файл. Или в чем там проблема?)
KorsaR-ZN: Просто я делаю это задание для фирмы и менеджеры в связи с часто меняющимися ценами будут переделывать excel файл. И потом им нужно каждый раз экспортировать в три файла вообщем это долго и не удобно. Таблицы тоже везде разные где то, как я писал цена выбирается по типу таблицы умножения на старых тетрадках ( самый простой пример ). Где то просто два столбца цена и стоимость.
RazerVG: пришли те мне на почту (есть в пофиле) примеры разных этих прайсов, у меня сегодня будет свободное время, я что-нибудь по думаю. Просто не видя структуры, сложно что-то посоветовать.
Без написания excel-скрипта для периодического выброса (скажем, раз в минуту) данных из таблиц в csv не обойдетесь. Хотя и это очень не лучший вариант интеграции.