我知道已有数百万篇关于此的帖子,但我似乎无法找到一个反映我的问题的帖子。
我正在使用VS2010并希望自动化excel,我正在尝试通过此处的示例。
问题是当我按照提到的方式添加引用时
3.添加对Microsoft Excel对象库的引用。为此,请按照下列步骤操作:?在“项目”菜单上,单击“添加引用”。 •在“COM”选项卡上,找到“Microsoft Excel对象库”,然后单击“选择”。
没有这样的参考资料。
有人可以告诉我这是否是使用VS2010实现Excel自动化的正确方法。
如果有人可以请告诉我为什么我没有excel的COM选项。
我想在VB.net中写,但如果有人在C#中有一个例子就可以了。
亲切的问候
灰
我尝试使用Microsoft.Office.Interop.Excel.Application dll实现自动化,但在尝试创建excel应用程序时出现以下异常。
此行生成错误。
EXL = New Microsoft.Office.Interop.Excel.Application()
这是例外
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
答案 0 :(得分:1)
如果您的计算机上安装了Office 2010但仍未在COM选项卡中看到它,那么您安装64位版本的Office的可能性是合理的。 Visual Studio是一个32位程序,它无法查看64位COM服务器的注册表项。
变通方法是使用主互操作程序集,它应该安装在您的计算机上。使用.NET选项卡,然后选择Microsoft.Office.Interop.Excel。下一个选项是直接导入类型库。使用“浏览”选项卡并导航到c:\ program files \ microsoft office \ office14并选择excel.exe。将添加的引用的Copy Local属性设置为True,以避免必须将PIA部署到目标计算机。
还要确保您的应用可以作为64位进程运行。在使用Project + Properties,Compile选项卡,向下滚动,Advanced Compile Options选择的vb.net中,将Target CPU设置为“AnyCPU”。