使用OpenRowSet操作Excel

有兩種接口可供選擇:Microsoft.Jet.OLEDB.4.0(以下簡稱 Jet 引擎)和Microsoft.ACE.OLEDB.12.0(以下簡稱 ACE 引擎)。

Jet 引擎大家都很熟悉,可以訪問 Office 97-2003,但不能訪問 Office 2007。

ACE 引擎是隨 Office 2007 一起發佈的數據庫連接組件,既可以訪問 Office 2007,也可以訪問 Office 97-2003。

另外:Microsoft.ACE.OLEDB.12.0 可以訪問正在打開的 Excel 文件,而 Microsoft.Jet.OLEDB.4.0 是不可以的。

 

語法舉例: 

--> Jet 引擎訪問 Excel 97-2003   

  1. select * from OpenRowSet('Microsoft.Jet.OLEDB.4.0''Excel 8.0;HDR=Yes;IMEX=1;Database=D:\97-2003.xls''select * from [Sheet1$]')   
  2. select * from OpenRowSet('Microsoft.Jet.OLEDB.4.0''Excel 8.0;HDR=Yes;IMEX=1;Database=D:\97-2003.xls', [Sheet1$])   
  3. select * from OpenDataSource('Microsoft.Jet.OLEDB.4.0''Excel 8.0;HDR=Yes;IMEX=1;Database=D:\97-2003.xls')...[Sheet1$]   
  4. select * from OpenDataSource('Microsoft.Jet.OLEDB.4.0''Data Source=D:\97-2003.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"')...[Sheet1$]   

 

--> ACE 引擎訪問 Excel 97-2003   

  1. select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0''Excel 12.0;HDR=Yes;IMEX=1;Database=D:\97-2003.xls''select * from [Sheet1$]')   
  2. select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0''Excel 12.0;HDR=Yes;IMEX=1;Database=D:\97-2003.xls', [Sheet1$])   
  3. select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0''Excel 12.0;HDR=Yes;IMEX=1;Database=D:\97-2003.xls')...[Sheet1$]   
  4. select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0''Data Source=D:\97-2003.xls;Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Sheet1$]   
  5.   

--> ACE 引擎訪問 Excel 2007   

  1. select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0''Excel 12.0;HDR=Yes;IMEX=1;Database=D:\2007.xlsx''select * from [Sheet1$]')   
  2. select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0''Excel 12.0;HDR=Yes;IMEX=1;Database=D:\2007.xlsx', [Sheet1$])   
  3. select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0''Excel 12.0;HDR=Yes;IMEX=1;Database=D:\2007.xlsx')...[Sheet1$]   
  4. select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0''Data Source=D:\2007.xlsx;Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Sheet1$]  

注:

Excel 2007 工作簿文件的擴展名是:xlsx

HDR=Yes/No

可選參數,指定 Excel 表的第一行是否列名,缺省爲 Yes,可以在註冊表中修改缺省的行爲。

IMEX=1

可選參數,將 Excel 表中混合 Intermixed 數據類型的列強制解析爲文本。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章