在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;

 

posted @ 2014-05-01 03:04  海阔天空XM  阅读(796)  评论(0)    收藏  举报