работать однозначно удобнее с mysql, вот только зачем все завязывать на excel и для чего этот велосипед с цветом ячеек? А хранить составленные сметы вы где собираетесь а как потом работать с уже составленными сметами?
я бы сделал так:
-
табл mysql- id
- группа услуги
- наименование услуги
- ед.измерения
- объем
- необходимые материалы json массив
- стоимость за ед.измерения
с материалами и видами работ и их стоимостью
-
табл mysql- id
- Контрагент
- массив в json со списком всех сохраненных услуг в заказе
- id услуги
- название услуги
- стоимость услуги -да, сюда дублируем стоимость услуги, для того, чтобы в случае изменения ее в базе, закрытые сметы оставались с теми суммами, которые вы получили по факту. Это пригодится в случае построения отчетов
- объем услуги
- ед. измерения
- стоимость работ
- дата составления
- запланированная дата начала работ
- запланированная дата окончания работ
с сохраненными расчетами
сделал бы фронт-енд на js, чтобы по первым введенным буквам в форму добавления услуги производился поиск по названию и вывод информации, добавление дополнительной услуги к заказу - тоже интерактивно через Js
на бек повесил бы обработчики на php, оптимизировал бы это дело для мобильных платформ, получится что прораб сможет в полях поднять смету или составить новую.
ну и данный можно легко редактировать + куча потенциально возможного функционала, например: уведомления на почту, можно прикрутить и смс о подходящих датах, можно сделать отправку сметы на почту в виде xml или pdf файла, календарь запланированных работ. Подсчет дохода за выбранный период времени или выборка по контрагенту.
могу набросать за 2-3 дня рабочий вариант, а то чет поиздержался, а нг на носу )