[C#.net]未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序

时间:2023-10-06 18:13:14

C#操作Execl文件常用的2种方式是NPOI和Microsoft.Jet.OleDb,前者需要引用dll,后者需要安装Office客户端

今天发现别人电脑使用Microsoft.Jet.OleDb能读取文件,但是自己的电脑上不能读取,Exception提示"未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序",查阅网上资料才发现是Execl版本的问题,开发的电脑上是x64的Execl,用户电脑如果是x86的Execl需要安装AccessDatabaseEngine.exe,反之需要安装AccessDatabaseEngine_X64.exe

[C#.net]未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序

Execl2007之前的,后缀名为.xls的使用下面连接字符串

  Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\\myFolder\\myOldExcelFile.xls;
  Extended Properties="Excel 8.0;HDR=YES";

Execl2007(包含2007)之后的,后缀名为.xlsx的使用下面的连接字符串

  Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\\myFolder\\myExcel2007file.xlsx;
  Extended Properties="Excel 12.0 Xml;HDR=YES";

更详细的可以访问这位大侠的

willingtolove