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";
更詳細的可以訪問這位大俠的