在SQL Server查询分析器里查询Excel文件数据
参考页:
http://www.cnblogs.com/stublue/archive/2010/10/12/1848995.html
http://blog.csdn.net/wonsoft/article/details/7730976
Excel 2007 及以上版本 (*.xlsx)
1 SELECT * 2 FROM OpenDataSource( 3 'Microsoft.ACE.OLEDB.12.0', 4 'Data Source="C:\book1.xlsx";User ID=Admin;Password=;Extended properties=Excel 12.0' 5 )...[Sheet1$]
或
1 SELECT * 2 FROM OPENROWSET( 3 'Microsoft.ACE.OLEDB.12.0', 4 'Excel 12.0;Database=C:\book1.xlsx', 5 'SELECT * FROM [Sheet1$A1:D100]' 6 )
或
1 SELECT * 2 FROM OPENROWSET( 3 'Microsoft.ACE.OLEDB.12.0', 4 'Excel 12.0;Database=C:\book1.xlsx', 5 'SELECT * FROM [Sheet1$]' 6 )
Excel 2003 版本 (*.xls)
1 SELECT * 2 FROM OpenDataSource( 3 'Microsoft.Jet.OLEDB.4.0', 4 'Data Source="C:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 8.0' 5 )...[Sheet1$]
或
1 SELECT * 2 FROM OPENROWSET( 3 'Microsoft.Jet.OLEDB.4.0', 4 'Excel 8.0;Database=C:\book1.xls', 5 'SELECT * FROM [Sheet1$]' 6 )
或
1 SELECT * FROM OPENROWSET( 2 'Microsoft.Jet.OLEDB.4.0', 3 'Excel 8.0;Database=C:\book1.xls', 4 'SELECT * FROM [Sheet1$A1:D100]' 5 )
需要注意的是:还需要用拥有服务器sysadmin角色权限的登录帐号,控制面板->管理工具->服务,然后重启电脑!!
先执行下列语句打开SQL SERVER的'Ad Hoc Distributed Queries'开关。
exec sp_configure 'show advanced options',1; reconfigure; exec sp_configure 'Ad Hoc Distributed Queries',1; reconfigure;
执行查询结束后还要恢复
exec sp_configure 'Ad Hoc Distributed Queries',0; reconfigure; exec sp_configure 'show advanced options',0; reconfigure;