1.1 错误信息

Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80080005 服务器运行失败(Exception from HRESULT: 0x80080005(CO_E_SERVER_EXEC_FAILURE))

1.2 原因分析

C#没有通过程序访问Excel的权限。

1.3 解决方案

点击键盘上的 WIN+ R 快捷键,在弹出的运行窗口中输入 comexp.msc -32,点击确定按钮,打开组件服务。

4.1 错误消息

无法将为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型 “Excel._Application”。此操作失败的原因是对 IID 为“{000208D5 -0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败:不支持此接口(异常来自HRESULT:0x80004002(E_NOINTERFACE))。

4.2 原因分析

系统曾经安装过高版本的Office或Wps后卸载,卸载存在残余。例如:卸载了office2013,安装了office2010

4.3 解决方案

4.3.1 解决方案一: 使用office的自动修复功能

打开 控制面板 —> 程序 —> 程序和功能

  • 根据配置的路径查找,查找到对应的位置,删除掉其他的版本
    64位Office配置中的路径是 {00020905-0000-0000-C000-000000000046}, 版本是 8.7,按照路径查找位置
  • 计算机\HKEY_CLASSES_ROOT\TypeLib\{00020905-0000-0000-C000-000000000046}
    

    该文件夹下的版本号,只保留对应的8.7,删除掉其他的版本即可。