Ace引擎和Jet引擎讀取Excel (Excel 2007 & 2003)

iteye_20954發表於2011-12-19
以前操作Excel的話,一般都會去用Microsoft.Jet.OLEDB.4.0引擎去讀取的,但是,這樣會有一個問題,就是如果office 2007的話,就出事情了,而且,Microsoft.Ace.OLEDB.12.0還可以訪問正在開啟的excel而Mricosoft.Jet.OLEDB.4.0則不可以,

Microsoft.Ace.OLEDB.12.0安裝檔案:
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=7554f536-8c28-4598-9b72-ef94e038c891

Microsoft.ACE.OLEDB.12.0語法:
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Excel路徑;
Extended Properties=""Excel 12.0;HDR=NO;imex=1"""
Dim oRS Set oRS = Server.CreateObject("ADODB.Recordset")
oRS.Open "Select * from [sheet1$]", oConn, 1, 3

Microsoft.JET.OLEDB.4.0語法:
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.JET.OLEDB.4.0;Data Source=Excel路徑;
Extended Properties=""Excel 8.0;HDR=NO;imex=1"""
Dim oRS Set oRS = Server.CreateObject("ADODB.Recordset")
oRS.Open "Select * from [sheet1$]", oConn, 1, 3

Excel 2007的字尾名是.xlsx

HDR=YES/NO
可選引數,指定 Excel 表的第一行是否列名,預設為 Yes,可以在登錄檔中修改預設的行為。

IMEX=1
可選引數,將 Excel 表中混合 Intermixed資料型別的列強制解析為文字。

相關文章