Date: 09.03.2017 7:53:18
Date: 10.03.2017 3:30:33
Какая версия Excel на настольном компьютере и на сервере? Какая версия библиотеки Interop.Excel? Файл открываете с сетевой папки или локальной?
Посмотрите диспетчер задач, может остались зависшие процессы Excel, которые держат файл.
Date: 10.03.2017 7:56:32
А версия библиотеки Interop.Excel какая ? (это можно посмотреть в свойствах DLL-файла, вкладка Подробно)
Попробуйте на сервере Выполнить - "dcomcnfg" - Службы компонентов - Мой компьютер - Настройка DCOM. В списке посмотрите, есть ли "Приложение Microsoft Excel" ? Если есть, что установлено на вкладке "Удостоверение" в свойствах?
Date: 10.03.2017 13:56:50
Не увидел ваше сообщение о том, как вы добавляете ссылку. Если вы добавляете "Excel 15.0 Object Library", то все должно быть правильно.
"В списке "Настройка DCOM" "Приложение Microsoft Excel" нет!? "
Дополнение: на 64-разрядной системе, если используется 32-битный Excel, надо выполнить "MMC comexp.msc /32"
Если Excel действительно отсутствует в списке DCOM-серверов, может быть вы его установили но ни разу не запускали? Насколько я знаю он регистрируется при первом запуске.
Date: 11.03.2017 14:18:06
То есть суть в том, что эти COM-объекты больше не работают из-под служб? Может тупо создать свое приложение (не-ASP.NET, обычное десктопное) которое будет генерировать отчеты и от давать их по HTTP на другом порту, и запускать его в локальном сеансе админа. А в основном ASP.NET приложении просто перенаправлять на этот порт.
OLE DB провайдер можно использовать и для генерации XLS-файлов, если форматирование не играет роли. Сделайте шаблон и командами INSERT вставляйте в него данные.
Если есть профессиональная версия SQL Server, можно также поднять сервер отчетов и использовать компонент ReportViewver.
Автор: VadimTagil