[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