Windows应用程序通过Interop.Excel库问题访问xls数据

我有一个.NET C#Windows应用程序,我需要读取一些Excel数据。 我已经开始编写一些unit testing..第一个刚刚trys实例化工作簿之一,它是抛出这个错误…

System.Runtime.InteropServices.COMException:System.Runtime.InteropService.COMException:检索具有CLSID {GUID}的组件的COM类工厂失败,原因如下:80040154未注册的类{从HRESULTexception:0x80040154(REGDB_E_CLASSNOTREG))

公共工作簿RetrieveWorkbook(){返回新的工作簿();这个应用程序真的很简单,一个方法。 }

和一个调用这个函数的unit testing。

代码是使用Microsoft.Office.Interop.Excel。

我进入了dcomconfiguration工具,并validation访问似乎是正确的。 我错过了什么? 有什么想法吗?

Workbook类构造函数的MSDN库文章非常明确:

Microsoft.Office.Tools.Excel.Workbook主机项目不能以编程方式创build。

使用Application.Workbooks.Add()方法,示例代码在这里。

像上面的答案,下面的代码工作正常:

Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); object o = Type.Missing; Workbook wkb = xlApp.Workbooks.Add(o);