Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Excel互操作错误_C#_Winforms_Com Interop_Excel Interop - Fatal编程技术网

C# Excel互操作错误

C# Excel互操作错误,c#,winforms,com-interop,excel-interop,C#,Winforms,Com Interop,Excel Interop,我在另一台计算机上运行应用程序时遇到问题。这是我收到的错误消息: System.Runtime.InteropServices.COMException 0x80040154:由于以下错误,检索CLSID为{00024500-0000-0000-C000-0000000000 46}的组件的COM类工厂失败:80040154 我在Google上搜索了它,发现这意味着我需要在regedit中注册特定组件,但我不知道如何注册,也不知道在哪里可以找到该组件,所以请帮助我 我在VS2010中使用C来制作

我在另一台计算机上运行应用程序时遇到问题。这是我收到的错误消息:

System.Runtime.InteropServices.COMException 0x80040154:由于以下错误,检索CLSID为{00024500-0000-0000-C000-0000000000 46}的组件的COM类工厂失败:80040154

我在Google上搜索了它,发现这意味着我需要在regedit中注册特定组件,但我不知道如何注册,也不知道在哪里可以找到该组件,所以请帮助我

我在VS2010中使用C来制作我的应用程序。还有一件事,我不知道这是否重要——我在3台不同的计算机上安装了这个应用程序,这是唯一一台给我这个错误的计算机——它是一台HP多功能一体机

对于CLSID为{00024500-0000-0000-C000-0000000000 46}的组件

这是Microsoft Excel应用程序类的guid。出现此错误的两个非常基本的原因:

该计算机上未安装Microsoft Office 机器有64位操作系统,您安装了32位版本的Office。您必须强制程序以32位模式运行。项目+属性,构建选项卡,将平台目标设置更改为x86 该机器具有64位操作系统,您安装了64位版本的Office 2010。与上面的修复相同,但现在必须确保选择AnyCPU目标。
那台计算机上安装了Excel吗?如果是,excel版本是否与其他计算机不同?Regasm。检查一下,Excel或Office作为一个整体似乎存在一些问题,因此我们将尝试重新安装它,并查看是否出现相同的错误。谢谢你的评论