
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.baidu.com/hm.js?fff14745aca9358ff875ff9aca1296b3" var s = document.getElementsByTagName("script")[0] s.parentNode.insertBefore(hm, s)})()excel中使用sql语句,使用快捷键alt+d+d+d调出链接表的对话框,选择你要连接的表,然后确定,在编辑查询命令文本中要写sql语句,sql在excel中使用的是select语句。其实使用select主要是对数据的查询和汇总,汇总时输入聚合函数。总之有许多的知识需要学习,你可以在网上查阅一下sqlselect语句的具体知识。
ALT+F11,打开VBE,插入一个模块,把以下代码复制进去:Sub dosql(sql, a As Range)
Dim Conn As Object
Set Conn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
PathStr = ThisWorkbook.FullName
Select Case Application.Version * 1
Case Is <= 11
strConn = "Provider=Microsoft.Jet.Oledb.4.0Extended Properties=excel 8.0Data source=" &PathStr
Case Is >= 12
strConn = "Provider=Microsoft.ACE.OLEDB.12.0Data Source=" &PathStr &"Extended Properties=""Excel 12.0HDR=YES"""""
End Select
Conn.Open strConn
Set rst = Conn.Execute(sql)
If VBA.InStr(sql, "select") >0 or VBA.InStr(sql, "Select") >0 Then
With a.Parent
For i = 0 To rst.fields.Count - 1
.Cells(1, a.Column + i).EntireColumn.ClearContents
.Cells(1, a.Column + i) = rst.fields(i).Name
Next
End With
a.Offset(1).CopyFromRecordset rst
For i = 0 To rst.fields.Count - 1
a.Parent.Cells(1, a.Column + i).EntireColumn.AutoFit
Next
End If
Conn.Close
End Sub
Public Sub t()
'sql = "这里写你的查询语句"
dosql sql, [E1]
End Sub
1、记得运行代码前要保存工作簿
2、查询语句中,表名是[工作表名$]这样的格式
3、dosql sql, [E1]中的E1,就是要放查询结果的区域左上角那个单元格。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)