我创建了一个新的C#windows窗体应用程序。我已将COM参考“Microsoft Excel 15.0对象库”添加到我的项目中。此项目用于将Excel数据导入数据集。我已经做了。我的电脑工作正常。如果我在另一台计算机上运行exe文件,它会显示如下所示的错误。
ERROR:
无法转换类型的COM对象 Microsoft.Office.Interop.Excel.ApplicationClass'到接口类型 'Microsoft.Office.Interop.Excel._Application'“此操作失败 因为QueryInterface调用COM组件的接口 因为IID'{{000208D5-0000-0000-C000-000000000046}'失败了 以下错误:加载类型库/ DLL时出错(异常来自 HRESULT:0x80029C4A(TYPE_E_CANTLOADLIBRARY))
答案 0 :(得分:0)
COM组件不是我的专长,我不经常使用它们。但我会告诉你我以前经历过的事情。请注意,我在大约6个月前经历过这种情况,在我的工作场所,情况远非理想。
为了使用/某些COM组件,您还需要在目标计算机上安装它的依赖项(在本例中为Excel / Office)。您是否检查过目标计算机上是否安装了Excel?
如果没有,您可以使用OLEDB连接来读取Excel文件。我不记得具体是怎么做的。
这可能有助于以某种方式使用OLEDB读取Excel文件:http://www.codeproject.com/Tips/705470/Read-and-Write-Excel-Documents-Using-OLEDB
答案 1 :(得分:0)
在您的proyect参考文献中,尝试在您的dll中设置Copy Local = true
答案 2 :(得分:-2)
如果您在64位开发环境中工作,请尝试明确定义使用非32位版本的库。要在Visual Studio中执行此操作,请在项目配置的“构建”部分中选中然后取消选中“首选32位”框,这会将<Prefer32Bit>false</Prefer32Bit>
添加到.csproj文件中。