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


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

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM