| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1561 人关注过本帖, 1 人收藏
标题:哪位高手帮我看下excel导入的代码哪里有问题
只看楼主 加入收藏
wenhao
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-12-22
收藏(1)
 问题点数:0 回复次数:17 
哪位高手帮我看下excel导入的代码哪里有问题
代码是这样的帮我看一下
<%dim aa
  aa=request.form("bbb")  '获取传递过来的值

  Dim   StrConnect,cc   
  Dim   objConn   
  Dim   rs   
  Dim   Sql   
  cc=0
  'Excel连接驱动
  aaa="provider=Microsoft.Jet.OLEDB.4.0; Data Source="&aa&";Extended Properties=Excel 8.0"
   

   set StrConnect=CreateObject("ADODB.Connection")
StrConnect.Open aaa


  Set   objConn=CreateObject("ADODB.Connection")
  
  objConn.Open   StrConnect   
   
  '注意   表名一定要以下边这种格试   "[表名$]"   书写   
  Set   rs = Server.CreateObject("ADODB.Recordset")     
  Sql="select   *   from   [Sheet1$]   "   
  rs.Open   Sql,StrConnect,2,2     
  IF     rs.Eof   And     Rs.Bof   Then   
  response.Write("<script>alert   ('没有资料可以导入!');history.go(-1)</script>")   
   
   
  else   
   
   
  Do   While   Not   rs.EOF
  '列出表内信息  
    response.write"excel数据为: <br>"
    response.write ""&rs(0)&"-"&rs(1)&"-"&rs(2)&""
response.write"<br>"
  set   rssql=server.CreateObject("adodb.recordset")
  '插入SQL2000里   
  rssql.Open   "select   *   from   School",conn,1,3   
  rssql.AddNew   
  if   rs(0)<>""   then   
  rssql(1)=rs(0)   
  end   if   
  if   rs(1)<>""   then   
  rssql(2)=rs(1)   
  end   if   
  if   rs(2)<>""   then   
  rssql(3)=rs(2)   
  end   if   
   
  rssql.Update
  cc=cc+1  
  Rs.MoveNext   
   
  Loop   
  end   if   
  response.Write   "<script   language=javascript>alert('资料导入成功!\n共有"&cc&"条数据导入');history.go(-1)</script>"
   
   
  %>
搜索更多相关主题的帖子: excel Microsoft Dim StrConnect 
2007-12-22 15:38
wenhao
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-12-22
收藏
得分:0 
第一条记录导入不进去
上面代码第一条记录导入不进去
其余的可以
2007-12-22 15:40
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
set StrConnect=CreateObject("ADODB.Connection")
StrConnect.Open aaa


  Set   objConn=CreateObject("ADODB.Connection")
  
  objConn.Open   StrConnect   
这里objConn.Open StrConnect
这里的objCon是ADODB.Connection 而StrConnect也是ADODB.Connection
这两个能做参数?
2007-12-22 15:42
wenhao
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-12-22
收藏
得分:0 
但改后还是出现这种问题啊
对,那块是有错误,
但改后还是出现这种问题啊
2007-12-22 16:06
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
rssql.Open   "select   *   from   School",conn,1,3   
Do   While   Not   rs.EOF
  '列出表内信息  
    response.write"excel数据为: <br>"
    response.write ""&rs(0)&"-"&rs(1)&"-"&rs(2)&""
response.write"<br>"
  set   rssql=server.CreateObject("adodb.recordset")
  '插入SQL2000里   
  
  rssql.AddNew   
  if   rs(0)<>""   then   
  rssql(1)=rs(0)   
  end   if   
  if   rs(1)<>""   then   
  rssql(2)=rs(1)   
  end   if   
  if   rs(2)<>""   then   
  rssql(3)=rs(2)   
  end   if   
  cc=cc+1  
  Rs.MoveNext   
 Loop
rssql.Update
不需要重复打开记录集的,重复打开与Update会影响程序运行速度的。
2007-12-22 16:31
wenhao
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-12-22
收藏
得分:0 
好的
rssql.Open   "select   *   from   School",conn,1,3   
Do   While   Not   rs.EOF
  '列出表内信息  
    response.write"excel数据为: <br>"
    response.write ""&rs(0)&"-"&rs(1)&"-"&rs(2)&""
response.write"<br>"
  set   rssql=server.CreateObject("adodb.recordset")
  '插入SQL2000里

这样能打开记录集吗
2007-12-22 16:54
wenhao
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-12-22
收藏
得分:0 
这样是不
rssql.Open   "select   *   from   School",conn,1,3   
Do   While   Not   rs.EOF
  '列出表内信息  
    response.write"excel数据为: <br>"
    response.write ""&rs(0)&"-"&rs(1)&"-"&rs(2)&""
response.write"<br>"
  set   rssql=server.CreateObject("adodb.recordset")
  '插入SQL2000里


是不应该把它 set   rssql=server.CreateObject("adodb.recordset")
放在sql语句上面啊
2007-12-22 16:58
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
set   rssql=server.CreateObject("adodb.recordset")
  '插入SQL2000里   
rssql.Open   "select   *   from   School",conn,1,3   
Do   While   Not   rs.EOF
  '列出表内信息  
    response.write"excel数据为: <br>"
    response.write ""&rs(0)&"-"&rs(1)&"-"&rs(2)&""
response.write"<br>"

  
  rssql.AddNew   
  if   rs(0)<>""   then   
  rssql(1)=rs(0)   
  end   if   
  if   rs(1)<>""   then   
  rssql(2)=rs(1)   
  end   if   
  if   rs(2)<>""   then   
  rssql(3)=rs(2)   
  end   if   
  cc=cc+1  
  Rs.MoveNext   
Loop
rssql.Update
创建语句也要放在最开头,用一个记录集添加就可以。
2007-12-22 17:00
随 缘
Rank: 1
等 级:新手上路
威 望:1
帖 子:111
专家分:3
注 册:2006-6-13
收藏
得分:0 
我也是用这个程序导入EXCEL,目前应该无问题,只是把rssql(1)=rs(0)改为rssql(0)=rs(0)   . 缺点是必须在本地导入,如果是在客户端就不成,另外,如果EXCEL记录里有数字、文字如下面:作为记录法正常导入。
姓名  成绩
李四  60
张三  100
即使在EXCEL中全面设为字符型,他也只能导入姓名这列,成绩就变为空值。要解决只能先导入姓名行再导入姓名入成绩,不知是什么原因。
2007-12-22 17:06
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
楼主的第一条数据是什么样子的,还有9楼的试试强制类型转换。
2007-12-22 17:17
快速回复:哪位高手帮我看下excel导入的代码哪里有问题
数据加载中...
 
   



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

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