当前位置:   article > 正文

System.InvalidCastException:“无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类

无法将类型为“microsoft.office.interop.excel.applicationclass”的 com 对象强

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

 

这个错误不是代码的问题,需要安装下面步骤删除注册表内容:

开始>运行> regedit --> HKEY_CLASSES_ROOT-->TypeLib-->{00020813-0000-0000-C000-000000000046} --> 1.8/1.7 (删除这些)

解决原理: 这个问题可以通过从更高版本的Office中删除剩余的无效注册表项来解决。按照上述步骤操作。

引起原因: 如果您已将Microsoft Office版本从Office 2010降级到Office 2007,或从Office 2013降级到Office 2010或2007,则此问题是由剩余注册表项引起的。

摘自:https://docs.microsoft.com/zh-cn/archive/blogs/dau-blog/how-to-solve-unable-to-cast-com-object-of-type-microsoft-office-interop-excel-applicationclass-to-interface-type-microsoft-office-interop-excel-_application

 

最终找到原因

必须每次实例一个对象    appExcel = new Excel.Application();

每次打开文件要new
appExcel.Workbooks.Open(fullName);

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/138748
推荐阅读
相关标签
  

闽ICP备14008679号