Нет. Там нет никакого способа, чтобы запустить первенствовать макросы с сервера без установленного офиса.
И даже если вы устанавливаете офис, это плохая идея. Вы можете установить офис, а затем иметь пакет SSIS с заданием сценария .NET, импортирующим двоичные файлы Micrososft.Office.Interop.Excel
, а затем использовать метод Run()
выполнить макрос. Но, пожалуйста ....
Не делайте этого.
Microsoft heavily discourages this.
Microsoft в настоящее время не рекомендуется, и не поддерживает, автоматизации приложений Microsoft Office из любого без присмотра, не интерактивного клиентского приложения или компоненты (включая ASP, ASP.NET, DCOM и NT Services), потому что Бюро может проявлять нестабильное поведение и/или тупик, когда Office запущен в этой среде.
Лучше всего здесь перестроить макрос. Переведите его на другой язык. Что он пытается сделать? Можно ли это сделать, импортируя данные Excel и используя задачи PIVOT, UNPIVOT и Send Mail в SSIS? Попробуйте их. Если это не сработает, загляните в задачу скрипта, которая использует EPPLus codeplex project, чтобы выполнять тяжелую работу на сервере. EPPlus будет работать намного быстрее, чем Interop.Excel
.
Удачи вам!
Нет, вы не можете запускать макросы excel без предварительного исправления. Если вы хотите создавать отчеты в excel, есть другие способы сделать это. –