我有一个C#应用程序,它在网络驱动器上打开Excel文件,读取数据并写入数据库。我可以从批处理文件中手动运行它,但是当我从Windows Scheduler或ActiveBatch运行批处理文件时它无法正常工作。我实际上并没有收到错误 - 当它尝试打开Excel工作簿时(而不是打开应用程序时),该工作就会挂起。
当我手动运行和从调度程序运行时,我在相同的用户凭据下运行。我在Windows Server 2003 Enterprise SP2和Office 2007上使用.NET 3.5。
我已经尝试过描述here的“Ogawa Hack”,我尝试使用一个间接级别,编写另一个由调度程序运行的批处理文件并调用原始文件。两者都没有。
我可以尝试其他任何想法吗?
答案 0 :(得分:0)
由于您的应用程序可能在服务器上运行,我建议不要使用Excel Interop执行此任务。有免费的.NET库,不需要安装Excel。对于较旧的Excel< = 2003格式,请在此处查看
http://jexcelapi.sourceforge.net/
(在文件部分,您将找到此Java lib的.NET端口)。对于较新的基于XML的格式,您可以使用以下格式: