Я работаю с задачей, в которой мне нужно вставить данные в существующий файл Excel, найдя его строки и ячейки. Я сделал это на локальном компьютере, используя Microsoft.Office.Interop.Excel dll
на моем конце и отлично работает. Но, когда я загружаю его на сервер, тогда он дает мне ошибку:
Получение фабрики COM-класса для компонента с CLSID {00024500-0000-0000-C000-000000000046} не удалось из-за следующей ошибки: 80040154.
Является ли эта ошибка, потому что у нас нет Microsoft Excel, установленной на сервере или по какой-либо другой причине?
Если это потому, что на сервере Microsoft Excel нет, то как мы можем завершить его без установки Microsoft Excel на сервере?
Код:
Imports Microsoft.Office.Interop.Excel
-
-
-
-
-
Private mWorkBook As Microsoft.Office.Interop.Excel.Workbook
Private mWorkSheets As Microsoft.Office.Interop.Excel.Sheets
Private mWSheet1 As Microsoft.Office.Interop.Excel.Worksheet
Private oXL As Microsoft.Office.Interop.Excel.Application
-
-
-
-
-
-
oXL = New Microsoft.Office.Interop.Excel.Application() --- This line is causing error.
Да, эта ошибка из-за Microsoft Excel не установлена на сервере.
Как вы сказали, Microsoft.Office.Interop.Excel
- эта строка вызывает ошибку.
Поскольку Excel
не установлен. Но ваше приложение пытается получить component class factory
с сервера. Таким образом, он бросает ошибку.
Вы можете избежать Excel Installation
на сервере. Но вам нужно следовать различным подходам к разработке, теперь вы следовали одному из способов подхода к созданию Excel.
Взгляните на эту qaru.site/questions/830/... , В этом вопросе это то же самое, что и точная проблема, с которой вы сталкиваетесь.
Есть два высоко оцененных ответа. Или вы можете использовать один из них.
Я попробовал ExcelLibrary - и я хотел бы предложить вам использовать это. Он отлично работал на нашем тестовом сервере разработки without excel installation
.