Могу ли я запустить Excel 2010 на сервере?

9

Этот вопрос не о человеке, использующем Excel на компьютере, на котором установлена ​​ОС Windows Server. И речь не идет об использовании каких-либо функций сервисов Sharepoint!

Речь идет об автоматизированных процессах, которые используют код (Office Automation) для открытия файлов Excel, управления ими, выполнения вычислений, чтения данных, сохранения копий файла и закрытия файлов ... все в коде.

В предыдущих версиях Excel лицензионное соглашение запрещало использование на общедоступном сервере, заметки от Microsoft предупреждали о проблемах при попытке использовать Office Automation в серверной среде, а нас предупреждали, что Excel является однопоточным и не предназначен для использования на сервере.

Большинство статей об этом были написаны до Office 2010.

Но теперь Excel 2010 предназначен для работы на сервере высокопроизводительных вычислений с использованием HPC Services for Excel. В одном документе HPC упоминается «Windows HPC Server 2008 R2 включает в себя комплексный менеджер всплывающих окон, который может обрабатывать случайные диалоговые окна и всплывающие сообщения».

Итак, мой вопрос ... теперь "безопасно" запускать код, который автоматизирует Excel 2010 на "обычном" сервере, без использования служб HPC?

Если нет, может ли HPC Services for Excel работать на одном сервере?

Мне не нужны высокопроизводительные распределенные вычисления, аспект HPC Services for Excel ... просто возможность запускать Excel на сервере.

Можно ли это сделать сейчас?

Спасибо Глен

Глен Литтл
источник
Может да. Должен, нет!
uSlackr

Ответы:

13

Ваш вопрос сводится к "Могу ли я безопасно использовать API автоматизации Excel?" и имеет мало общего со спецификой сервера. Конечно, Excel действительно работает на платформах Windows Server и даже довольно распространенный сценарий в среде терминального сервера, но , как правило , она выполняется в интерактивном режиме с помощью соответствующих пользователей. Всегда было безопасно запускать его таким образом (т. Е. Старые версии были также установлены на терминальных серверах).

При этом в документе KB257757, который последний раз пересматривался 2 июля 2010 года и содержит раздел «относится к», в котором явно указан «Microsoft Excel 2010» , говорится:

В настоящее время Microsoft не рекомендует и не поддерживает автоматизацию приложений Microsoft Office из любых необслуживаемых, неинтерактивных клиентских приложений или компонентов (включая ASP, ASP.NET, DCOM и NT Services), поскольку Office может демонстрировать нестабильное поведение и / или или тупик, когда Office работает в этой среде.

конкретно по вопросу лицензирования:

Текущие руководящие принципы лицензирования не позволяют приложениям Office использоваться на сервере для обслуживания клиентских запросов, если только эти клиенты не имеют лицензированных копий Office.

и завершает это жирным шрифтом:

Microsoft настоятельно рекомендует ряд альтернатив, которые не требуют установки Office на стороне сервера, и которые могут выполнять наиболее распространенные задачи более эффективно и быстрее, чем автоматизация. Прежде чем использовать Office в качестве серверного компонента в своем проекте, рассмотрите альтернативные варианты.

Я считаю, что вы не можете иметь более определенное утверждение, чем это.

заместитель Wabbit
источник
Спасибо за комментарии ... но это все еще игнорирует существование HPC Services for Excel. В случае HPC Services Microsoft специально рекомендует использовать Excel в качестве серверного компонента.
Глен Литтл
Службы HPC не являются «автоматизацией» (которая будет общей OLE-автоматизацией ), а состоят из довольно узких суженных интерфейсов с ограниченным использованием для распределения вычислительной нагрузки.
the-wabbit
Пример автоматизации Excel из .NET на сервере с использованием HPC см. По
Глен Литтл,