关于VB连接excel数据的问题
我想做一个可以自动分组的工程,名单在excel表里代码怎样写?最好有详细解释单击按钮开始后,导出excel,选择excel里的数据范围由工程自动分组最后输出分组结果...
我想做一个可以自动分组的工程,名单在excel表里
代码怎样写?
最好有详细解释
单击按钮开始后,导出excel,选择excel里的数据范围
由工程自动分组
最后输出分组结果 展开
代码怎样写?
最好有详细解释
单击按钮开始后,导出excel,选择excel里的数据范围
由工程自动分组
最后输出分组结果 展开
2个回答
展开全部
1、在Excel表的顶端插入一个类似Access数据库字段名那样的表头,也就是列名,类似于“学号”、“姓名”这样的。
2、在VB窗口添加一个ListBox控件,List1(我都不知道要用什么来显示分组,随便用这个了)。
Private Sub Command1_Click()
'工程->引用->Microsoft ActiveX Data Objects 2.X Library
Dim xlConn As New ADODB.Connection
Dim xlRs As New ADODB.Recordset
Dim strConn As String
Dim xlCnt As Integer
Dim 学号() As String, 姓名() As String
'连接数据库的字符串,后面的“HDR=yes”需要注意,它的意思是把Excel表第一行作为字段名,第二行开始方是有效数据。HDR=no则反之,从第一行开始就看做有效数据。
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Book1.xls;Extended Properties='Excel 8.0;HDR=yes;IMEX=1'"
'打开Excel连接
xlConn.Open strConn
'像打开数据库一样,使用SQL语言,打开名称为“sheet1”的工作表
xlRs.Open "select * from [sheet1$]", xlConn, adOpenStatic, adLockReadOnly
'获得表中数据的记录数
xlCnt = xlRs.RecordCount
'读出名称为“Sheet1”的工作表里面的数据
ReDim 学号(xlCnt), 姓名(xlCnt)
For i = 1 To xlCnt
学号(i) = Str(xlRs("学号"))
姓名(i) = xlRs("姓名")
xlRs.MoveNext
Next
'全部读进数组之后,就可以开始分组啦,这里你可以随便按照你的要求改了
For i = 1 To xlCnt
List1.AddItem (学号(i) & "," & 姓名(i))
If i Mod 4 = 0 Then List1.AddItem (" ")
Next
'关闭sheet对象,关闭Excel连接
xlRs.Close
xlConn.Close
Set xlRs = Nothing
Set xlConn = Nothing
End Sub
2、在VB窗口添加一个ListBox控件,List1(我都不知道要用什么来显示分组,随便用这个了)。
Private Sub Command1_Click()
'工程->引用->Microsoft ActiveX Data Objects 2.X Library
Dim xlConn As New ADODB.Connection
Dim xlRs As New ADODB.Recordset
Dim strConn As String
Dim xlCnt As Integer
Dim 学号() As String, 姓名() As String
'连接数据库的字符串,后面的“HDR=yes”需要注意,它的意思是把Excel表第一行作为字段名,第二行开始方是有效数据。HDR=no则反之,从第一行开始就看做有效数据。
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Book1.xls;Extended Properties='Excel 8.0;HDR=yes;IMEX=1'"
'打开Excel连接
xlConn.Open strConn
'像打开数据库一样,使用SQL语言,打开名称为“sheet1”的工作表
xlRs.Open "select * from [sheet1$]", xlConn, adOpenStatic, adLockReadOnly
'获得表中数据的记录数
xlCnt = xlRs.RecordCount
'读出名称为“Sheet1”的工作表里面的数据
ReDim 学号(xlCnt), 姓名(xlCnt)
For i = 1 To xlCnt
学号(i) = Str(xlRs("学号"))
姓名(i) = xlRs("姓名")
xlRs.MoveNext
Next
'全部读进数组之后,就可以开始分组啦,这里你可以随便按照你的要求改了
For i = 1 To xlCnt
List1.AddItem (学号(i) & "," & 姓名(i))
If i Mod 4 = 0 Then List1.AddItem (" ")
Next
'关闭sheet对象,关闭Excel连接
xlRs.Close
xlConn.Close
Set xlRs = Nothing
Set xlConn = Nothing
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询