Member 12724492 Ответов: 2

Я пытаюсь создать файл excel с помощью ASP.NET VB.NET используя COM reference на локальной машине , он работает нормально, но на сервере появляется ошибка, ошибка заключается в следующем:


Получение фабрики COM - класса для компонента с CLSID {00024500-0000-0000-C000-000000000046} не удалось из-за следующей ошибки: класс 80040154 не зарегистрирован (исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

Что я уже пробовал:

Я использую библиотеку COM reference на in vb.net страница она отлично работает на локальной но при загрузке сайта на сервер она получает ошибку

CHill60

Эта библиотека COM установлена на сервере?

Member 12724492

как установить его на сервер?

ZurdoDev

Точно так же он установлен на вашем компьютере, где он действительно работает.

CHill60

Учитывая, что я не знаю, какую библиотеку вы используете и каков настроенный сервер, я вряд ли смогу вам помочь. Попробуйте установить его на сервер так же, как вы установили его на свой локальный диск. Честно говоря, я думаю, что вам нужно найти альтернативный способ создания файла excel... есть несколько альтернатив

Richard Deeming

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

* EPPlus[^]
* ClosedXML[^]
* SDK OpenXML[^]

2 Ответов

Рейтинг:
2

Dave Kreskowiak

Вы не можете использовать какое-либо офисное приложение через Interop в ASP.NET приложение. Офисные приложения не поддерживают повторный доступ, и для правильной работы некоторых функций требуется войти в систему пользователя на консоли.

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

Вам нужно будет использовать другую библиотеку для выполнения работы Excel в вашем компьютере. ASP.NET приложение, такое как библиотека OpenXML, ClosedXML, EPPlus или другие.


Рейтинг:
1

F-ES Sitecore

Вам нужен Excel, установленный на сервере, чтобы это работало, но даже тогда вы не заставите это работать, автоматизируя Excel с помощью asp.net не поддерживается. Вам нужно будет использовать библиотеку, которая работает под asp.net например, EPPlus, XML SDK и т. д.


Maciej Los

5ed!