编程技术分享平台

网站首页 > 技术教程 正文

用SQL读取excel数据 sql读取一列数据

xnh888 2024-12-25 16:12:52 技术教程 28 ℃ 0 评论

用SQL语句处理数据有其特殊的优势,为此最近做一个任务就是把EXCEL数据表当成数据库进行处理,大量使用了表的连接等操作,而每次连接数据库时,要设置连接字符串,打开连接,完成后还要关闭。为此,把这些封装在一个子程序中执行,减少了编程中的代码量,还减少代码出错的概率。

子程序代码如下:

参数说明:DataName 存放全路径EXCEL文件名 strSql 需要执行的select语句 Arr 是查询后的返回值

Sub myQuery(DataName As String, strSql As String, ByRef Arr)

Dim conn As Object

Dim Rst As New ADODB.Recordset

Dim strConn As String

Dim PathStr As String

Dim i As Integer

Set conn = CreateObject("ADODB.Connection")

Select Case Application.Version * 1 '设置连接字符串,根据版本创建连接

Case Is <= 11

strConn = "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties=excel 8.0;Data source=" & DataName

Case Is >= 12

strConn = "Provider = Microsoft.ACE.OLEDB.12.0;Data Source=" & DataName & ";extended properties=""excel 12.0;HDR=YES"""

End Select

conn.Open strConn '打开数据库链接

Rst.Open strSql, conn, 1, 3

'Set Rst = conn.Execute(strSql) '执行查询,并将结果输出到记录集对象

If Rst.RecordCount > 0 Then

Arr = Rst.GetRows

End If

Rst.Close '关闭数据库连接

conn.Close

Set conn = Nothing

Set Rst = Nothing

End Sub

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表