如何用SQL语句查询Excel数据?

如何用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都可用

posted on   大西瓜3721  阅读(340)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2015-04-06 对象、对象数组、JSON、JSON数组的相关操作

导航

点击右上角即可分享
微信分享提示