VB与EXCEL的连接 |
[ 2009-1-6 15:28:33 | By: jap ]
|
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 |
|