如何用SQL語句查詢Excel數據


Q:如何用SQL語句查詢Excel數據?
A:下列語句可在SQL SERVER中查詢Excel工作表中的數據。

2007和2010版本:

 SELECT *
 FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0',
 'Data Source="c:\book1.xlsx";User ID=Admin;Password=;Extended properties=Excel 12.0')...[Sheet1$]

 

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$A1:D100]')

 

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$]')

2003版本:

SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$]

 

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$]')

 

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$A1:D100]')

 

而且,還需要用擁有服務器sysadmin角色權限的登錄帳號,先執行下列語句打開SQL SERVER的'Ad Hoc Distributed Queries'開關。

exec sp_configure 'show advanced options',1;reconfigure;
exec sp_configure 'Ad Hoc Distributed Queries',1;reconfigure;

 

執行查詢后,再用相反順序的語句,關閉'Ad Hoc Distributed Queries'開關。

 

exec sp_configure 'Ad Hoc Distributed Queries',0;
reconfigure;exec sp_configure 'show advanced options',0;reconfigure;

 

 # 網站名稱: Excel技巧網|Excel 2010/2007新領地
# 署名作者: apolloh
# 版權聲明: 版權所有 非作者本人轉載須經許可並注明作者和出處
# 本文來自:
# 引用作品:
# 適用版本: 2010 2007 2003以前版本 
# 語言環境: 簡體中文 (頁麵右上角簡繁轉換)
# 內容簡介:
# 文章地址: http://www.exceltip.net/thread-5862-1-1-0.html
# 學習方法: 掌握Excel技巧的關鍵是動手操作|下載≠知識

 

2007和2003都可用

 

SELECT * FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0','Data Source="D:\test1.xls";User ID=Admin;Password=;Extended properties="Excel 12.0 Xml;HDR=YES;IMEX=1";')...[Sheet1$]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM