在c#2010中使用Excel 14.0 DLL获取问题

当我尝试构build我的C#应用​​程序时遇到以下问题。 我想将数据导出到Office 2010或2007中。错误如下

Retrieving the COM class factory for component with CLSID {00020819-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). 

这不是一个build立相关的错误,你只会尝试运行你的程序时得到它。 得到它的两个最常见的原因是:

  • 您的计算机上没有安装Office
  • 你有一个64位版本的Windows,EXE项目的目标是AnyCPU

后一种不幸事件的解决方法是右键单击您的EXE项目,属性,将平台目标设置更改为“x86”。 如果实际上安装了Office 2010的64位版本,则执行相反的步骤,将x86更改为AnyCPU。

经过3到4个小时的斗争,我find了解决上述问题的办法。 问题是我添加了COM的引用而不是.net。 当我添加.net excel的引用,然后解决这个问题。 任何方式,我已经安装PIA所有的东西,我的机器是x86。