C#Universal OleDb连接到Excel

时间:2014-08-18 09:37:12

标签: c# asp.net excel oledb

我有一个ASP-MVC应用程序,允许用户上传Excel文件。我支持* .xls文件(Excel 97-2003)和* .xlsx文件(Excel 2007 +)。

上传文件后,程序会使用一个可用的驱动程序打开与excel文件的OleDB连接:

  • Microsoft.ACE.OLEDB.12.0,用于获取最新的Excel文件格式。
  • Microsoft.Jet.OLEDB.4.0,适用于较旧的Excel文件格式。

我写这篇文章时的内容是 if 代码块,用于检查要打开的Excel文件的mime类型,并选择正确的驱动程序来打开OleDb连接。但我不能同时支持这两种文件格式。

如果我在 64位模式中执行我的ASP应用,则会收到错误消息:

  

Microsoft.Jet.OLEDB.4.0'提供程序未在本地计算机上注册。

如果我在 32位模式中执行我的ASP应用,则会收到错误消息:

  

' Microsoft.ACE.OLEDB.12.0'提供程序未在本地计算机上注册。

如果有通用的Microsoft OleDb提供程序能够连接到所有版本的Excel文件吗?

更新:我在64位版本的Windows Server 2008 SP1上运行.NET Framework 4

0 个答案:

没有答案