赞
踩
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,则此问题是由剩余注册表项引起的。
最终找到原因
必须每次实例一个对象 appExcel = new Excel.Application();
每次打开文件要new
appExcel.Workbooks.Open(fullName);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。