分享

VB与EXCEL的连接

 深维工作室 2010-05-31
VB与EXCEL的连接
[ 2009-1-6 15:28:33 | By: jap ]
 
jap1、在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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多