我潜入了文档,但由于我没有找到任何信息(嗯,实际上我发现了与其他一些SO问题的相似之处,但不是我想要的),我要求你们帮助我:
我正在通过ADODB连接执行tsql查询,以便将Excel文件(* .xlsx)中的数据检索到另一个。 该文件组成如下:
Header1 Header2 Header3
--------- --------- ---------
A1 B1 C1
A2 B2 C2
A3 B3 C3
.... .... ....
我想要检索标题,所以这里是整个程序的一部分,包含连接字符串
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Set con = New ADODB.Connection
Set rs = New ADODB.Recordset
With con
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source=path\file.xlsx; _
Extended Properties=""Excel 12.0 Xml;HDR=NO;IMEX=1"""
Set rs = .Execute("Select * From [Sheet1$]")
.Close
End With
这里我检索所有列,但是如果我想要列B,然后是列A,然后是列C,例如,类似的东西:
Set rs = .Execute("Select colb, cola, colc From [Sheet1$]")
问题在于我不知道应该替换colb,cola,colc的术语,因为我不能使用列的标题
此致
PS:我对这些技术知之甚少,所以我的术语可能不对。
答案 0 :(得分:3)
不是我的回答,而是来自坐在我旁边的同事;)
Set rs = .Execute("SELECT F2, F1, F3 FROM [Sheet1$]")
(未经测试)
答案 1 :(得分:0)
您是否尝试过读取文件中的列:
Set rs = .Execute("SELECT * FROM [Sheet1$]")
然后将它们映射到所需的变量?我的意思是 - 您之后在代码中对rs
做了什么?