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

时间:2010-02-13 03:57:36

标签: c# .net excel interop

我有一个.NET C#windows应用程序,我需要读取一些excel数据。我已经开始编写一些单元测试了......其中一个是实例化工作簿的第一个,它正在抛出这个错误......

System.Runtime.InteropServices.COMException:System.Runtime.InteropService.COMException:由于以下错误,检索CLSID {GUID}组件的COM类工厂失败:80040154未注册类{HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG) ))

这部分应用程序非常简单,一种方法, 公共工作簿RetrieveWorkbook() {      返回新的工作簿(); }

和一个调用此函数的单元测试。

代码正在使用Microsoft.Office.Interop.Excel。

我进入了dcom配置实用程序并验证访问权限似乎是正确的。我错过了什么?有什么想法吗?

2 个答案:

答案 0 :(得分:4)

Workbook类构造函数的MSDN Library article非常明确:

  

Microsoft.Office.Tools.Excel.Workbook   无法创建主机项目   编程。

使用Application.Workbooks.Add()方法,示例代码is here.

答案 1 :(得分:0)

与上面的答案一样,下面的代码运行正常:

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