读取excel的sql
1. 使用sql语句如何对Excel工作表数据进行查询
SQL语句是一种标准的数据库语言,其可以在任何关系型数据库管理系统中使用。在 Excel 表格中,使用SQL语句可以实现对Excel工作表数据进行查询的 方法 。以下是我为您带来的关于使用SQL语句对Excel工作表数据进行查询,希望对您有所帮助。
使用SQL语句对Excel工作表数据进行查询1、启动Excel并打开工作簿,在这个工作簿中,工作表Sheet1放置商品信息记录,如图1所示;工作表Sheet2用于对商品记录进行查询,其结构如图2所示。
图1放置商品信息记录的工作表
图2用于商品记录查询的工作表
2、打开Visual Basic编辑器,在工程资源管理器中插入一个模块,在模块的“代码”窗口中输入如下程序代码:
Sub CheckData()
Dim cnn As ADODB.Connection '声明连接对象变量
Dim rs As ADODB.Recordset '声明记录集对象
Dim strSql As String
Dim str As String
On Error Resume Next
Set cnn=CreateObject("ADODB.Connection") '创建连接对象变量
Set rs=CreateObject("ADODB.Recordset") '创建记录集对象记录
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;"_&"Extended Properties=Excel 8.0;"_&"Data Source="&ThisWorkbook.FullName
str=ActiveSheet.Range("B1").Value '获取当前单元格内容
strSql="Select*FROM[Sheet1$]Where商品like '%"&str&"%'"'创建数据筛选命令
rs.Open strSql,cnn,adOpenStatic
With ActiveSheet
.Range("A4:D100").ClearContents '清除单元格记录
.Range("A4").CopyFromRecordset rs '复制筛选结果
End With
rs.Close
cnn.Close
Set rs=Nothing
Set cnn=Nothing
End Sub
3、首先在Sheet2工作表中输入需要查询的商品名称,如图3所示。运行CheckData()过程,在Sheet2工作表中将列出查询结果,如图4所示。
图3输入商品名称
图4获得查询结果
使用SQL语句如何对Excel工作表数据进行查询相关 文章 :
★ excel2007使用sql语句查询的方法
★ excel2007写sql语句的教程
★ 如何将excel数据导入sql的方法
★ Excel2013使用教程基础
★ excel数据导入SQL数据库的教程
★ excel表导入sql数据库的教程
★ excel导入sqlserver数据库方法
★ 计算机英语
★ excel表格制作教程
var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm..com/hm.js?"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();2. 如何使用SQL语句实现对Excel工作表数据的查询
--1.开启远程查询支持
exec sp_
configure
'show advanced options' ,1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
--2.链接Excel Microsoft ACE 12.0 OLE DB Provider 读Excel数据(注意Excel必须事先关闭)
select * from
openrowset('Microsoft.ACE.OLEDB.12.0','Excel 12.0;HDR=Yes;DATABASE=C:/Users/nichk/Desktop/data.xls', Sheet1$);
--3.记得用完选项后,关闭这些选项
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
--4.查看是不是关闭
exec sp_configure记得电脑必须安装oledb提供程序(可搜索AccessDatabaseEngine.exe在微软官网下载安装),不同的版本访问方式不一样,如下是各版本的访问方式:
--> Jet 引擎访问 Excel 97-2003
select * from
OpenRowSet
('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls', 'select * from [Sheet1$]')
select * from OpenRowSet('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls', [Sheet1$])
select * from OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls')...[Sheet1$]
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
select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls', 'select * from [Sheet1$]')
select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls', [Sheet1$])
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls')...[Sheet1$]
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Data Source=D:/97-2003.xls;Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Sheet1$]
--> ACE 引擎访问 Excel 2007
select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/2007.xlsx', 'select * from [Sheet1$]')
select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/2007.xlsx', [Sheet1$])
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/2007.xlsx')...[Sheet1$]
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Data Source=D:/2007.xlsx;Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Sheet1$]
3. 濡备綍鐢╯ql鍙杄xcel琛ㄤ腑镆愬崟鍏冩牸镄勫
鍙浠ュ厛鐢⊿QL璇诲彇Excel鏁版嵁锛岀劧钖庡啀镓炬煇鍗曞厓镙
--SQL璇诲彇Excel鏁版嵁
select * from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="C:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
链夊悎骞剁殑灏变笉濂藉仛浜