我有一个放在文件服务器上的Excel文件。当需要时,我通过dll访问它,仅在后台(通过ExecuteExcel功能)用一些数据填充它。
它曾经工作过。最近,我将2003 Office更改为2010 Office版本。之后,它开始抛出以下错误。
System.Runtime.InteropServices.COMException(0x80070BBC):Office检测到此文件有问题。为了保护您的计算机,无法打开此文件。
即使到现在,它有时还是可以工作,有时甚至会抛出错误。
这里有什么问题?
我有一个放在文件服务器上的Excel文件。当需要时,我通过dll访问它,仅在后台(通过ExecuteExcel功能)用一些数据填充它。
它曾经工作过。最近,我将2003 Office更改为2010 Office版本。之后,它开始抛出以下错误。
System.Runtime.InteropServices.COMException(0x80070BBC):Office检测到此文件有问题。为了保护您的计算机,无法打开此文件。
即使到现在,它有时还是可以工作,有时甚至会抛出错误。
这里有什么问题?
Answers:
Office 2010文件验证要求文件或文件位置受信任。这是有关此问题的知识库文章-Microsoft Office 2010中的错误消息:“ Office检测到此文件有问题”。
尝试将文件的位置添加到中的受信任位置 File > Options > Trust Center > Trust Center Settings > Trusted Locations
s failing to get cellnames of hidden columns.I don知道为什么会失败。您有什么建议吗???
我在Office 2013中遇到了同样的麻烦。我的ASPX应用程序通过Excell Interop尝试打开XLS文件。但是失败了。当文件以某种方式被识别为危险文件并且Excell尝试以“安全模式”打开文件时,会发生问题。(可能用于旧的XLS文件,宏等。)但是方法Excell.Workbooks.Open需要以“安全模式”插入的独占访问。因此,将调用错误COMException(0x80070BBC)。
解决方案:对我来说,这最终帮助了:1)根据选定用户(具有本地管理员权限)下的安全性(宏等)更改Excell设置。2)在IIS中创建了一个新的应用程序池,并为APSX应用程序设置了3)从步骤1)将应用程序池标识更改为用户4)重新启动IIS