一般是安装过多个版本的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
第二类:HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{00020812-0000-0000-C000-000000000046}\InprocServer32\14.0.0.0
查询如上项的查找关键字为:“Microsoft.Office.Interop.Excel, Version=14.0.0.0”。
附office的版本号:office2003 : 11.0 office2007: 12.0 office2010 : 14.0 office2013: 15.0
[此贴子已经被作者于2019/4/3 15:43:17编辑过]