@nOXXXXX84

Как создать сайт, который будет использовать за основу Excel с макросами, хранящимся на сервере (ASP?)?

День добрый!

Есть 20 меговый эксель файл с тысячами формул и простенькими макросами.
На первой странице мы заводим десятки переменных, жмется кнопка запуска макроса, на другой странице происходят вычисления/симуляции, на третьей - выводится результат (тоже десятки показателей).

Задача: создать сайт с личным кабинетом, где пользователь мог бы все это проделать. Т.е. выбрать переменные, нажать кнопку, подождать и получить результат на экране.

Советовали windows.server, asp и т.д. Но я в этом не понимаю ничего. Амбициозный стартап ищет своего программиста.

Дизайнерскую составляющую опускаю - будет технология, красоту навести можно будет.

Перевод в frame всех формул прошу не предлагать. Формулы длинные и их огромное количество. Регулярно изменяются/дополняются. Это симулятор деятельности фирмы.

Заранее огромное спасибо за ответ!
  • Вопрос задан
  • 362 просмотра
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
вам нужно использовать COM объект называемый "Excel.Application"
Там уже открываете файл, выполняете макрос, читаете/пишите значения ячеек.
Либо в C#
using Excel = Microsoft.Office.Interop.Excel;
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open("E:\\book1.xlsm");
//тут манипуляции с xlWorkBook и ячейками
xlApp.Run("ShowMsg", "Hello from C# Client", "Demo to run Excel macros from C#");
//тут манипуляции с xlWorkBook и ячейками
xlWorkBook.Close(false);
xlApp.Quit();


В любом случае код примерно одинаковый так как по сути использует одну и ту же библиотеку MSOffice: данные и их пересчет в контексте книги, макросы в контексте приложения.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
KEugene
@KEugene
Извините, но в том виде, что вы хотите, решения нет. Нельзя превратить экселевскую книгу в сайт. Даже если ее использовать в качестве расчетной машины (эдакий "черный ящик"), т.е. сайт (вэб-интерфейс) берет у пользователя значения переменных, загружает объект, как вам советовал Александр, передает ему через COM данные и берет новые значения для вывода с третьего листа, это не сработает из-за макросов. Формулы в Excel.Application будут работать без проблем, но не VBA.
Даже если переписать книгу лишь на встроенных формулах, вам придется столкнуться с необходимостью выбирать лишь хостинг, работающий на windows. Да еще и предоставляющий необходимый СОМ объект.
Быстрее и дешевле будет найти студента, владеющего VBA и, например, C#. В принципе, серверный язык уже зависит от платформы хостера (хоть PHP, Perl или даже JavaScript, что уже вообще ни от чего не зависит).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы