EXCEL在.NET操作下的错误System.InvalidCastException: QueryInterface for interface Excel._Application failed.

一、DCOM修复
 1.运行:mmc comexp.msc /32,找到我的电脑 -> DCom配置中的Microsoft Excel Application
2.在Microsoft Excel Application上点击右键,选择"属性"
3.点击"标识"标签,选择"交互式用户"
4.点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.
5.依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.
二、如果找不到Microsoft Excel 应用程序
1、进行OFFICE菜单中的组件重注册
2、如果仍未解决问题,点 开始--运行--输入EXCEL文件所在的路径  “c:\program files\exel.exe”  /regserver  进行修复注册

三、WIN7中OFFICE安装或卸载不干净,以上方法如果无法解决,尝试删除注册表解决


出现如下异常的情况:
无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 
COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”。此操作失败的原因是对 IID 
为“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 
库没有注册。 (异常来自 HRESULT:0x8002801D 
(TYPE_E_LIBNOTREGISTERED))。
英文版的异常消息如下:
Unable to 
cast COM object of type 'Microsoft.Office.Interop.Excel.ApplicationClass' to 
interface type 'Microsoft.Office.Interop.Excel._Application'. This operation 
failed because the QueryInterface call on the COM component for the interface 
with IID '{000208D5-0000-0000-C000-000000000046}' failed due to the following 
error:  could not be found. (Exception from HRESULT: 0x80030002 
(STG_E_FILENOTFOUND)).

删除如下两类的注册表键:
第一类:HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046}\1.7
或者1.6
第二类:HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{00020812-0000-0000-C000-000000000046}\InprocServer32\14.0.0.0


删除后重新安装office

你可能感兴趣的:(EXCEL在.NET操作下的错误System.InvalidCastException: QueryInterface for interface Excel._Application failed.)