设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 5126|回复: 11
打印 上一主题 下一主题

[模块/函数] 从Excel导入为什么没有第一行

[复制链接]
跳转到指定楼层
1#
发表于 2016-11-29 20:10:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用下面代码取得excel文件中的数据, 为什么总是读取不到第一行的数据

Dim ExcelCn As New ADODB.Connection, ExcelRs As New ADODB.Recordset
ExcelCn.Open "Data Provider=MSDASQL.1;driver=Microsoft Excel Driver (*.xls);DBQ=D:\a.xls"
ExcelRs.Open "select * from [Sheet1$]", ExcelCn, adOpenKeyset, adLockReadOnly

Do Until ExcelRs.EOF
        Debug.Print ExcelRs.Fields.ITEM(0).Value        
        ExcelRs.MoveNext
Loop

也就说只能从第二行开始读取数据,第一行直接忽略了

请各位大侠帮忙看一下,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2016-11-29 22:53:22 | 只看该作者
要设置不取标题行即可。一下子忘记是哪个参数了,
3#
发表于 2016-11-29 23:45:18 | 只看该作者
本帖最后由 Henry D. Sy 于 2016-11-29 23:48 编辑

sConnect = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\Files\Sales.xlsx;" & _
"Extended Properties=""Excel 12.0;HDR=No"";"


excel版本号换成你的版本号

4#
发表于 2016-11-30 10:42:45 | 只看该作者
改成这样再试试:ExcelCn.Open "Data Provider=MSDASQL.1;driver=Microsoft Excel Driver (*.xls);DBQ=D:\a.xls;hdr=yes"
5#
发表于 2016-11-30 10:44:44 | 只看该作者
Henry D. Sy 发表于 2016-11-29 23:45
sConnect = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\Files\Sales.xlsx;" & _
"Extend ...

如果是2003版本或以下,数据库引擎好像也要改:
Provider=Microsoft.jet.OLEDB.4.0;
6#
 楼主| 发表于 2016-11-30 21:41:23 | 只看该作者
tmtony 发表于 2016-11-29 22:53
要设置不取标题行即可。一下子忘记是哪个参数了,

谢谢站长
7#
 楼主| 发表于 2016-11-30 21:45:20 | 只看该作者
Henry D. Sy 发表于 2016-11-29 23:45
sConnect = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\Files\Sales.xlsx;" & _
"Extend ...

谢谢版主

我用
ExcelCn.Open "Provider=Microsoft.ACE.OLEDB.11.0;Data Source=D:\a.xls;Extended Properties=""Excel 11.0;HDR=No"";"

出错,提示” 未找到提供程序。该程序可能未正确安装。“ 错误代码为3706

我的ACCESS和EXCEL都是2003版的,按理说版本号应该是11.0的,不知为什么会有这样的错误
8#
 楼主| 发表于 2016-11-30 21:48:00 | 只看该作者
roych 发表于 2016-11-30 10:42
改成这样再试试:ExcelCn.Open "Data Provider=MSDASQL.1;driver=Microsoft Excel Driver (*.xls);DBQ=D:\a ...

谢谢roych, 改了,好像没有用
9#
 楼主| 发表于 2016-11-30 21:49:59 | 只看该作者
roych 发表于 2016-11-30 10:44
如果是2003版本或以下,数据库引擎好像也要改:
Provider=Microsoft.jet.OLEDB.4.0;

改成下面这样

ExcelCn.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=D:\a.xls;Extended Properties=""Excel 11.0;HDR=No"";"


提示不可识别的数据库格式 ’D:\a.xls

不知什么原因
10#
发表于 2016-12-1 10:00:11 | 只看该作者
zyp 发表于 2016-11-30 21:49
改成下面这样

ExcelCn.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=D:\a.xls;Extended Prope ...

好像一般是8.0或者9.0。11.0这个版本表示没听说过。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 21:30 , Processed in 0.105810 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表