从IE打开的Excel文件;不存在,但确实存在

Excel file opened from IE doesn't exist, but does

本文关键字:不存在 存在 文件 IE Excel      更新时间:2023-09-26

我有一个用户,当他们下载托管在我们内联网上的excel文件时,收到一条错误消息,告诉他们该文件不存在。这种情况发生在IE.

我已经验证了该文件确实存在,并且在同一地理位置具有相同权限的其他用户可以访问该文件。这不是互操作问题,文件只是托管的。通过在打开/保存提示下打开文件,我在IE 9中的机器上重现了一次这个问题,之后Excel向我询问了3次身份验证凭据,给了我同样的错误,然后还是打开了文件。从那以后,我一直无法复制它。她的电脑无论如何都会打开文件

我被难住了。有人有什么想法吗?

错误消息:Microsoft Office Excel无法访问该文件。有几个可能的原因:

  • 文件名或路径不存在
  • 另一个程序正在使用该文件
  • 您试图保存的工作簿与当前打开的工作簿同名工作簿

编辑

用户正在使用IE 7。

为文件服务的代码:

<asp:LinkButton ID="lbtnEstimatingWorkbook" runat="server" CssClass="Brightness"
    Tooltip="Estimate Calculation Workbook" ToolTip="Open estimating workbook in Excel"
    OnClientClick="DisplayEstimateWorkbook()"></asp:LinkButton>
function DisplayEstimateWorkbook() {
    var url = "Estimating Workbook.xlsm";
    var win = window.open(url, '_blank');
    win.focus();
}

在我们的生产路径上发现了一些东西(可能是通用的IIS设置),但在应用程序之外,添加了"Pragma:no-cache"标头。这阻止了IE8(或更早版本)下载任何东西,因为IE处理下载的方式很糟糕。

在页面的Init方法中添加以下内容修复了问题并允许下载(仅适用于IIS 7+):

Response.Headers.Remove("Pragma")
Response.AddHeader("Pragma", "cache")
Response.Cache.SetCacheability(HttpCacheability.Private)
Response.Cache.SetMaxAge(New TimeSpan(0, 15, 0))

此问题提供了更多信息。