关于VB连接excel数据的问题

我想做一个可以自动分组的工程,名单在excel表里代码怎样写?最好有详细解释单击按钮开始后,导出excel,选择excel里的数据范围由工程自动分组最后输出分组结果... 我想做一个可以自动分组的工程,名单在excel表里
代码怎样写?
最好有详细解释
单击按钮开始后,导出excel,选择excel里的数据范围
由工程自动分组
最后输出分组结果
展开
 我来答
翰林院里扫地的
推荐于2016-05-05 · TA获得超过308个赞
知道小有建树答主
回答量:245
采纳率:0%
帮助的人:0
展开全部
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
kfzlg
2008-12-14 · 超过53用户采纳过TA的回答
知道答主
回答量:227
采纳率:0%
帮助的人:142万
展开全部
你的问题太笼统,看不明白!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式