使用Microsoft.Office.Interop读取excel文件数据,提供异常。 WPF应用程序

时间:2012-11-05 10:37:15

标签: c# wpf c#-4.0 .net-4.0 excel-interop

我有WPF应用程序,它读取excel文件数据并在UI上显示。我正在使用Microsoft.Office.Interop来主要阅读excel文件数据.xlsx。在开发机器上的应用程序工作正常,但在某些计算机上安装和运行此应用程序,它给我这个错误:

  

Excel由于以下错误而导致CLSID为{00024500-0000-0000-C000-000000000046}的组件的COM类工厂失败:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG)   有什么可能解决这个问题?

2 个答案:

答案 0 :(得分:1)

Interop库有许多缺点;首先,您需要在目标计算机上安装Excel副本才能使其正常工作。

出于这个原因,我们的团队从不使用它。我建议以下替代方案。

http://npoi.codeplex.com(MS 2003文件的旧库.xls)。

http://epplus.codeplex.com(更新的库,提供更简单的API处理2007文件.xlsx)

要求Excel都不在服务器上。

答案 1 :(得分:1)

同样 Microsoft Access Database Engine 2010 Redistributable

  • 允许对 Excel 文件
  • 进行简单查询(Linq)
  • 在您部署应用程序的服务器上 免费易于安装
  • 在terget计算机上不需要安装Office