从2013年降级到2010年后,Excel API的例外情况
从Excel 2013降级到2010(即删除2013和安装2010)后,尝试从我的加载项访问Excel OM时,如下所示:
if (this.Application.ActiveWorkbook == null) { return; }
我得到以下exception:
无法将“System .__ ComObject”types的COM对象转换为接口types“Microsoft.Office.Interop.Excel._Application”。 此操作失败,因为IID为“{000208D5-0000-0000-C000-000000000046}”的接口的COM组件上的QueryInterface调用由于以下错误而失败:库未注册。 (来自HRESULT的exception:0x8002801D(TYPE_E_LIBNOTREGISTERED))。
我已经采取了以下步骤来解决这个问题,但没有任何工作:
- 修复了办公室安装
- 卸载并重新安装
- 清除registry中的所有办公室15参考
- 重新注册的Excel(“C:\ Program Files(x86)\ Microsoft Office \ Office14 \ excel.exe”/ o)
但是,似乎没有任何工作。 有什么我失踪或我真的要擦拭机器?
编辑:我的猜测是,在registry中仍然有冲突,但我不知道在哪里…
谢谢!
find解决scheme – 我忘了删除Excel 2013的一个引用:
HKEY_CLASSES_ROOT \ {types库00020813-0000-0000-C000-000000000046} \ 1.8
删除1.8
我更正的registry看起来像这样:
…
信用度: http : //www.c-sharpcorner.com/Forums/Thread/203666/unable-to-cast-com-object-of-type-microsoft-office-inte.aspx
- Cultureinfo不匹配导致Excel自动化失败
- 从HRESULTexception:0x800A03EC通过在公式中写入一个双精度值
- Microsoft.Excel.Office.Core和Microsoft.Office.Interop.Excel有什么区别?
- Excel从S3存储桶导入
- 为什么我的电子表格保存为.xlsx扩展名,但是直到我将其更改为.xls才会发生?
- EPPlus条件格式化整个列的string长度
- Excel VSTO加载项:无法在MessageBox.Show(“Test”)后重新激活Excel;
- 在Asp.net中导出Gridview来优化数据表
- 如何通过oledb阅读器在Excel表格中检查单元格是否包含filter?