我在我的机器(XP)中创建了Office Excel应用程序。我已将应用程序放在Windows Server 2008中,但出现以下错误。
Microsoft Office Excel无法访问文件'\ server \ Input.xls'。有几个可能的原因:
客户端和服务器系统都安装了office 2007并添加了参考microsoftexcellibrary 12.0
为应用程序创建程序集并从表单中调用代码。
答案 0 :(得分:2)
我得到了完全相同的错误,尽管在我的情况下我试图运行(来自Tidal Enterprise Scheduler)一个使用microsoft.interop.excel的.NET应用程序。
答案已经在stackoverflow中了: [Microsoft Office Excel cannot access the file 'c:\inetpub\wwwroot\Timesheet\App_Data\Template.xlsx'
我将重新列出该链接中的步骤:
创建目录“C:\ Windows \ SysWOW64 \ config \ systemprofile \ Desktop”(对于64位Windows)或“C:\ Windows \ System32 \ config \ systemprofile \ Desktop”(对于32位Windows)< / p>
在上面的桌面目录上设置完全控制权限(例如,在Win7&amp; IIS 7&amp; DefaultAppPool中为用户“IIS AppPool \ DefaultAppPool”设置权限)
当然,如果您运行的是计划任务而不是WebApp,则需要确保您使用的服务帐户对该文件夹具有权限。
答案 1 :(得分:0)
在运行此应用程序之前,我会确保计算机上没有运行任何Excel进程,这应该涵盖最后一点。
第一点看起来是最可能的问题,路径看起来像是部分路径或不正确的UNC路径。尝试将完整路径放到电子表格“C:\ server \ input.xls”中,看看是否有效。
要停止中间点,可以在workbook.open命令中指定以只读方式打开,这将确保应用程序可以在文件被其他用户锁定打开时重置该文件。
希望这有帮助