C# Microsoft.Office.Interop.Excel.ApplicationClass 加载类型库/DLL 时出错

时间:2023-03-09 09:47:38
C#  Microsoft.Office.Interop.Excel.ApplicationClass 加载类型库/DLL 时出错

问题

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

参考

http://m.blog.csdn.net/blog/cleverbegin/41909861

由于项目过程中需要提交数据库开发文档,数据库已经全部设计好了,但是不想手工去复制粘贴到word,所以就找努力寻找数据库文档生成工具,最后找到了一个免费的软件叫:动软代码生成器。

这个动软代码生成器是用c#写的,与微软是无缝兼容的,但是我没有装office,于是就下载了office,然后用360卸载了wps。

接下来使用动软代码生成器连接数据库,生成数据库文档,结果报了一下错误:

System.InvalidCastException: 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: 加载类型库/DLL 时出错。 (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).
 
开始大海捞针,在国内搜基本没消息,于是用google搜
1)office版本冲突,可我的注册表没有其他office,这台机从来没有用过office
2)又说是没有注册.net,可是我根本就没必要按照.net,一开始我还以为是没有按照VS for office tools,一直找队应版本下载,结果不是。
最后终于定位到可能是wps和office冲突,又在网上找了一大推怎么怎么完全卸载wps,或者重装office,或者最干脆的重装系统。
最后解决方案:重装wps,然后在卸载。这样就不会再注册表里冲突了。
http://m.blog.csdn.net/blog/cleverbegin/41909861
 解决
发现wps没有ico,wps肯定是没有正常卸载的缘故,下载安装wps,问题解决!!