Как использовать Excel на сервере для расчетов заданных пользователем данных?
Всем привет! Я сюда зашел за помощью.
Начал для семьи формировать красивый файлик со сложным расчетом доходности по проектам разным.
Так хорошо вышло, что я решил пойти дальше и опубликовать сей труд для всех, но либо в качестве приложения, либо в качестве веб-страницы.
Также я создал Word файл, в котором создаётся подробный отчет по получившейся модели, так как все фразы и графики, разные выходные показатели привязаны ссылками к экселю.
Сейчас получается так:
Я открываю на ПК Excel, ввожу там данные, сохраняю, открываю Word-отчет, и сохраняю как PDF. вуаля, подробный отчет с описанием всех ньюансов проекта готов.
А как бы мне хотелось?
Вот так:
Пользователь заходит на страницу, вводит данные в форму,
Форма отправляет эти данные в нужные ячейки в экселе, который будет на сервере,
Эксель автоматом сразу же считает и выдает там результат в других ячейках,
Страница берет получившийся результат из нужных ячеек экселя и показывает пользователю
Рядом появляется кнопка, позволяющая скачать уже готовый pdf файл с отчетом по проекту.
Либо это можно сделать в виде приложения для смартфона.
как делать математику бэком? Простите, я не искушен в терминах - мне предлагаете переписать формулы все на другом языке программирования? Это повеситься можно
на другом языке программирования? Это повеситься можно
Ну вы же собираетесь на каком-то языке программирования делать это
Форма отправляет эти данные в нужные ячейки в экселе, который будет на сервере
и это
Страница берет получившийся результат из нужных ячеек экселя и показывает пользователю
Рядом появляется кнопка, позволяющая скачать уже готовый pdf файл с отчетом по проекту.
Например, на php. Так почему бы и математику не делать в том же php? Это действительно будет проще, логичнее и намного (возможно, в десятки раз) быстрее, чем костыли с Excel. Ну не предназначен Excel быть бэкендом. Это как забивать гвозди микроскопом - забить-то можно, но очень неудобно и очень неэффективно.
Bewitcher, увы, но да.
Основная, на мой взгляд, загвоздка может случится при адаптации экселевских функций, если они есть.
Но по своему опыту скажу, что если вы уже раз более менее осознанно реализовали какой-то алгоритм и имеете "шпаргалку" под рукой, реализовать его повторно, пусть и с использованием других средств будет на порядок проще.
Самый оптимальный вариант в вашем случае: Используйте гугл таблицы/эксель для мобильного. Ничего программировать не нужно, все из коробки, как говорится. Вариант затратный по времени, но менее затратный по деньгам: Изучаете html+css+какой-нибудь язык программирования (какой именно - не принципиально, сейчас большинство ЯП`ов можно использовать для бекэнда и, пожалуй для каждого такого есть библиотека для работы с экселевскими файлами), после чего пишите простенькую системку и размещаете на дешевом хостинге. Вариант "вот-прям-щаз за кучу денег": Арендуете выделенный сервер на Windows и запускаете excel там.
Не понял, как использовать гугл таблицы, если я хочу скрыть все расчеты от пользователя - показать ему лишь результат чисто аккуратно - там так возможно?
Bewitcher, самый простой вариант - лист с расчетами защитить от редактирования а форму для ввода данных вынести на отдельный.
Вариант чуть посложнее - гугл таблицы использовать в качестве формы для ввода. Далее с помощью Google Apps Script (он же, на самом деле, JS) считать данные и отправлять на почту в виде pdf, либо (насчет осуществимости этого варианта я не уверен) скачивать напрямую на пк пользователя..
Вот этот вариант:
Вариант "вот-прям-щаз за кучу денег": Арендуете выделенный сервер на Windows и запускаете excel там.
вполне жизнеспособен.
Нужно будет заказать на фрилансе программу, которая будет "дергать" Excel, вводить данные и получать результат.
Этот вариант лучше использовать на начальном этапе, когда не хочется ничего переделывать и нужно понять окупаемость проекта. Если взлетит - разумеется логику нужно будет переносить из Excel в программный код и запускать его на сервере.
Так я ж не спорю. Я лишь про то, что стоимость ВПСки под виндой в купе с лицензией экселя (Возможно, конечно, на "морскую" версию хостеру будет побоку, а возможно и нет) будет обходиться на порядок дороже хостинга/впс, на котором будет крутиться условный php/python.
Если взлетит
Собственно, тс указал, что проект - для семьи, вряд-ли подразумевается коммерческая выгода.
Я всем благодарен, ибо уже в течение дня столько ответов. А я полный нуб во всех языках программирование и не знаю возможностей их, что можно , а что вовсе нет.
Я бы хотел посмотреть каков будет спрос на ресурс и может нагружу рекламой сбоку для памперсов сыну:)
А если не полетит, то останется семейным