标题:如何实现将统一格式的多个excel的SHEET1的数据导入到一个Access的同一TABLE ...
只看楼主
jiashie
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:237
专家分:999
注 册:2009-4-30
得分:0 
用Ado直接把Excel当作数据库来读取。
2010-04-30 08:57
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
得分:0 
回复 11楼 jiashie
不是很好,可以帮忙指点指点吗?
2010-04-30 11:09
jiashie
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:237
专家分:999
注 册:2009-4-30
得分:0 
比起直接使用Excel对象,好处在于不用打开Excel.Application,且使用ADO比Excel要方便。
程序代码:
...
Set connXLS = New ADODB.Connection
'connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & strExcel & "';Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & strExcel & "';Extended Properties=""Excel 12.0;HDR=NO"";"  '由于我用的是office2007的excel,所以要用ACE而不是Jet。
connXLS.Open connStr

Set rsXLS = New ADODB.Recordset
sqlStr = "select  * from [Sheet1$]"   'Excel工作簿名称 +$
rsXLS.Open sqlStr, connXLS, adOpenKeyset, adLockOptimistic
if rsXLS.RecordCount =0 then 
    '没有记录
    err.raise ERROR_USER,"没有记录"
end if 
'遍历所有记录、所有字段
for i = 0 to rsXLS.RecordCount -1
    for j = 0 to rsXLS.Fields.Count-1
        debug.print rsXLS(j)
    next
    rsXLS.MoveNext
next
rsXLS.Close
...


[ 本帖最后由 jiashie 于 2010-4-30 14:24 编辑 ]
2010-04-30 14:17
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
得分:0 
回复 13楼 jiashie
对不起,系统没有帮你加分,下次一定补上....谢谢
2010-04-30 16:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-303897-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.271517 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved