Консольное приложение C # с Excel Interop зависает как запланированное задание в планировщике Windows / ActiveBatch - PullRequest
0 голосов
/ 03 декабря 2010

У меня есть приложение C #, которое открывает файл Excel на сетевом диске, читает данные и записывает в базу данных. Я могу запустить его вручную из командного файла, но он не работает, когда я запускаю командный файл из планировщика Windows или ActiveBatch. На самом деле я не получаю ошибку - работа просто зависает при попытке открыть книгу Excel (а не при открытии приложения).

Я работаю с одними и теми же учетными данными как при ручном запуске, так и из планировщика. Я использую .NET 3.5 на Windows Server 2003 Enterprise SP2 с Office 2007.

Я попробовал «Ogawa Hack», описанный здесь , и я попытался использовать уровень косвенности, написав другой пакетный файл, который будет запускаться планировщиком и вызывать оригинальный файл. Ни один не работал.

Какие еще идеи я могу попробовать?

1 Ответ

0 голосов
/ 03 декабря 2010

Поскольку ваше приложение, вероятно, будет работать на сервере, я бы порекомендовал не использовать Excel Interop для этой задачи. Доступны бесплатные библиотеки .NET, которые не требуют установки Excel. Для более старого формата Excel <= 2003 смотрите здесь </p>

http://jexcelapi.sourceforge.net/

(в разделе файлов вы найдете порт .NET этой библиотеки Java). Для более новых форматов на основе XML, вы можете использовать этот:

http://excelpackage.codeplex.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...