rajaron Ответов: 1

Com исключение hresult 0x800a03ec в Microsoft.office.interop.excel.workbooks.Добавить (шаблон объекта)


Я использую приложение на базе Windows, которое использует COM Interop Excel, в котором экспорт excel терпит неудачу. Это работает в среде разработки. Но он терпит неудачу, когда его продвигают в другую среду.

Кроме того, проблема заключается в том, что он не воспроизводится в локальной среде.

Мы используем Microsoft.Взаимодействие.Excel для открытия excel и обновления данных.

При попытке добавить рабочую книгу с помощью рабочих книг.Добавьте метод мы получаем следующее
ошибка :


Система.Время Выполнения.InteropServices.Исключение comexception.Исключение из HRESULT:0X800A03EC
в Microsoft.Офис.Взаимодействие.Превосходить.Рабочая тетрадь.Добавить (Шаблон Объекта)

Код :

файл thisworkbook = OpenTemplate(новой системы.ИО.FileInfo Может("XLSTemplate\\Test.xlsx"));


открытая рабочая книга OpenTemplate(FileInfo xlsFile)
{
Книги ВБ = нуль;

пробовать
{
wb = рабочие книги.Добавить (xlsFile.Полное имя);
шаблон = xlsFile;

if (wb != null)

{
если (! DebugOut.Атрибут отладчик &амп; ВБ.Листы.Граф > 0)
((_Worksheet)wb.Worksheets[1]). активировать();
}
}
поймать (исключение бывший)
{
Система.Диагностика.Отлаживать.WriteLine (ex);
throw new Exception ("ошибка в OpenTemplate", ex);
}
возвращение ВБ;
}

Любая помощь и решение были бы очень оценены.

1 Ответов

Рейтинг:
0

PrashantSonewane

Отличаются ли ОС в обеих средах? Это сервер Windows 2008? Если это так, попробуйте создать папку рабочего стола, как показано ниже, если она еще не присутствует в среде, где это не удается.

Windows 2008 Server (64-Разрядная Версия): C:\Windows\SysWOW64\config\systemprofile\Desktop
Windows 2008 Server (32 Бит): C:\Windows\System32\config\systemprofile\Desktop


rajaron

Это 32 битная ОС Windows Vista

rajaron

Привет Прашант,

Операционная система-Windows Vista-32 бит.

Но можете ли вы сказать мне, как 32-бит/ 64-бит связан с взаимодействием excel

PrashantSonewane

Это не связано с Interop exel. Я проверял, является ли ваша ОС серверной и 64-битной. Если он 64-битный, то есть еще одна папка для системных файлов SysWOW64 в отличие от 32-битного. Следовательно, вам нужно создать папку рабочего стола в обоих местах. Бит здесь связан не с взаимодействием Excel, а с ОС. Во всяком случае, ваш 32-битный. Ответит, если найдет прорыв или подсказку.

Manju0520

Я столкнулся с точно такой же проблемой на сервере Windows 2008 (64 бит). Создание папки рабочего стола, как упоминал Прашант, решило мою проблему. Спасибо за этот вопрос и ответ :)

Member 10085182

Это также сработало для меня в Windows Server 2012 R2 standard (64-разрядная версия)