无法取出Excel单元格的数据? 急﹗

mikimon 2005-03-10 08:02:44
Excel表内容如下﹕

ID Name Money
------------------------
1111 Jimy 1000
222B Tommy 5000
3333 John 8000

代码如下﹕
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

conn.Open connectstring
xSQL = "SELECT * FROM [Excel 5.0;HDR=YES;DATABASE=D:\a.xls].[sheet1$]"
rs.Open xSQL, cn, adOpenKeyset, adLockOptimistic
if rs.bof or rs.eof then
msgbox “no found!”
else
msgbox "id=" &rs.Fields(0) & ", name=" & rs.Fields(1) & ",money =" & rs.Fields(2)
end if

if rs.state=adstateopen then rs.close
set rs=nothing
set cn=nothing

当取到第二个ID编号时值就为空﹐第一和第三个ID都没问题﹐请问题大家怎样解决?
...全文
321 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
cy_nwau 2005-03-18
  • 打赏
  • 举报
回复
把数据发给我,我可以给你解决:cy@nwsuaf.edu.cn
mikimon 2005-03-18
  • 打赏
  • 举报
回复
樓上大哥﹕

我已將數據發給你了。
多謝幫忙
mikimon 2005-03-17
  • 打赏
  • 举报
回复
有解決的方法嗎?
flyingZFX 2005-03-16
  • 打赏
  • 举报
回复
呵呵,有意思呀。进来凑个热闹

hhjjhjhj(大头)(想变胡萝卜^^) 好长时间不见了。
zycxs 2005-03-15
  • 打赏
  • 举报
回复
用ADO可以的,你把你的EXCEL发到我的信箱吧,我帮你写一下,看合不合你意 zycxs012@163.com

my QQ :76504462
mikimon 2005-03-13
  • 打赏
  • 举报
回复
TO楼上两位大哥

这两种方法不好,这是一个汇数据到数据库的过程,不能要求客户做这些动作后才执行汇数据,还有没有更好的办法, 用VBA实现都可以,但一定要效率高.
whyglinux 2005-03-11
  • 打赏
  • 举报
回复
在Excel文件中修改单元的格式,将这一列的数据表示形式改为“文字列”,而不是默任的“标准”或者“数值”格式即可。

注意:对于现有的数据,改变其格式后还要双击单元格以使其格式生效。
hhjjhjhj 2005-03-11
  • 打赏
  • 举报
回复
把第三行提上到第二行,这样C2是18023383B,ADO读取时,C列就认为是字符型了。
mikimon 2005-03-11
  • 打赏
  • 举报
回复
Excel內容如下﹐麻煩幫忙解決吧 ﹗

A B C D E F
---------------------------------------------------------------------------------
1 | Voucher No. Remit date Cust. Code Remit Amt. Region Remit to
2 | 1-402435 6/1/04 18022847 3,000.00 GD 珠海A公司
3 | 1-402407 6/1/04 18023383B 9,900.00 GD 深圳A公司
4 | 1-402407 6/1/04 18023383B GD 深圳B公司
5 | 1-402389 6/1/04 18021530 1,000.00 GD 廣州公司

因为表的内容太多我只拷了小部分。

mikimon 2005-03-11
  • 打赏
  • 举报
回复
TO楼上的大哥﹕

正如你所说那样﹐有什幺方法可以解决﹐是否一定要用VBA呢﹐ADO能不能?
hhjjhjhj 2005-03-10
  • 打赏
  • 举报
回复
Excel文件作为数据时:
如果第一行都为数字。没有列名。列名用F1、F2、F3....代替。并且所有字段都认为是数字型,下面的字符型数据会被忽略。
如果第一行有一个不是数字。第一行为列名,遇到空格时列名为Fn(注:n代表第几列)。第二行起作为正式数据,再根据第二行确定数据类型,就是说第二格是数字的列,下面的字符型数据会被忽略。
lsftest 2005-03-10
  • 打赏
  • 举报
回复
应该是你的excel文件的问题而不是程序的。。。你可以把excel寄过来我帮你试试:
lsftest@163.com
mikimon 2005-03-10
  • 打赏
  • 举报
回复
还有其它ADO方法可以将单元格的值取出来吗?
  • 打赏
  • 举报
回复
你用vba 不用ado
mikimon 2005-03-10
  • 打赏
  • 举报
回复
可能是吧﹐但我必须要将ID编号取出来﹐有什幺方法呢?
PacificBlue 2005-03-10
  • 打赏
  • 举报
回复
会不会是因为你第二个ID号中含有字符B啊?其他两个都是数值,猜测。
mikimon 2005-03-10
  • 打赏
  • 举报
回复
can you help me ?

7,787

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧