Получение фабрики классов COM для компонента с CLSID не удалось из-за следующей ошибки: 8000401a

Столкновение с проблемой в приведенном ниже коде

using Microsoft.Office.Interop.Excel;

    var excel = new Application();  // this is throwing error

Ошибка:

Получение фабрики классов COM для компонента с CLSID {00024500-0000-0000-C000-000000000046} не удалось из-за следующей ошибки: 8000401a Не удалось запустить процесс сервера из-за неверно настроенного идентификатора. Проверьте имя пользователя и пароль.

Я пытаюсь прочитать Excel, представленный в SharePoint.

Как решить вышеуказанную проблему


person Chandra sekhar    schedule 30.11.2018    source источник
comment
Подобная автоматизация Office из ASP.Net не рекомендуется и не поддерживается и может вызвать всевозможные проблемы, даже если вы в конечном итоге переведете его в состояние, в котором он работает. Рассмотрите OleDb / EPPlus как альтернативу.   -  person Alex K.    schedule 30.11.2018
comment
Убедитесь, что вы используете Interop Library той же версии Excel. Каждая версия Excel имеет свою библиотеку взаимодействия.   -  person jdweng    schedule 30.11.2018
comment
И убедитесь, что на сервере установлен Office. Как сказал @Alex K, это действительно плохая идея. Microsoft заявила, что этого нельзя делать с 90-х годов в классические дни ASP. Модели потоковой передачи совершенно неверны, и вы можете легко дестабилизировать сервер. Если вам нужно прочитать файл, используйте компонент, предназначенный для этого. Для Excel 2010 и более поздних версий просмотрите OpenXML SDK от Microsoft.   -  person Mark Fitzpatrick    schedule 30.11.2018
comment
У меня была та же проблема, и этот ответ мне подходит: stackoverflow.com/a/4974615/12920154   -  person Luiz Nogueira    schedule 27.05.2020