| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5579 人关注过本帖, 1 人收藏
标题:如何实现将统一格式的多个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
快速回复:如何实现将统一格式的多个excel的SHEET1的数据导入到一个Access的同一 ...
数据加载中...
 
   



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

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