Использование электронных таблиц Excel с макросами в серверной части веб-приложения - PullRequest
2 голосов
/ 19 октября 2011

Передо мной лежит архитектурный кошмар, и я хочу прояснить некоторые детали.

Итак, вопрос в следующем:

Как кто-то может создать веб-приложение, которое используеткакие макросы закопаны глубоко в электронной таблице Excel в качестве серверной части для вычислений?

Справочная информация: у моего клиента есть электронная таблица Excel, выполняющая некоторые вычисления для него (так что в некотором смысле это приложение Excel).Теперь он готов иметь веб-приложение, использующее ту же электронную таблицу Excel, что и бэкэнд.Да, это как сказано: чтобы веб-интерфейс выполнял запросы к макросам в этой электронной таблице Excel и получал обратно вычисленные данные.Нет, я не могу посмотреть на источник макроса и перевести его на свой целевой язык, потому что электронная таблица защищена паролем от редактирования.

Основным веб-сервером, который лучше не трогать, является Apache.Целевым языком разработки, с которым я больше всего разбираюсь, является PHP.

Я прочитал статью службы поддержки Microsoft о совместимости Excel <-> VB и здесь вопрос о Excel <-> C #совместимость и пришел к выводу, что задача возможна со следующим потоком данных:

Apache -> Некоторое приложение C # .NET / VB.NET в качестве внутреннего ретранслятора -> моя электронная таблица Excel -> назад к ретрансляции -> Apache

но, конечно, я думаю, что это просто ужасно, и мне нужно более разумное решение.

1 Ответ

1 голос
/ 19 октября 2011

Если макросы, скрытые в электронной таблице, представляют собой VBA, то чистый способ запуска электронной таблицы на сервере не существует (AFAIK).Существуют некоторые инструменты, которые утверждают, что могут компилировать электронную таблицу Excel, включая VBA, в исполняемый файл, который вы можете запустить на сервере, но у меня нет опыта их использования, поэтому я не знаю, какой из них, если таковые имеются, подойдет вашей ситуации.1001 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...