CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

问一个利用ASP将EXCEL导入ACCESS的问题

楼主renwenbin1982()2006-03-20 13:17:24 在 Web 开发 / ASP 提问

读取EXCEL文件内容的代码如下:  
  <style>  
  td,input,select,textarea,body{font-size:9pt}  
  a{color:blue}  
  a:hover{color:green}  
  </style>  
  <%  
  if   session("xibu")=""   then  
  If   Request.QueryString("action")="do"   Then  
  Dim   conn  
  Dim   StrConn  
  Dim   Rs  
  Dim   Sql  
  Dim   i  
  Dim   ExName  
  ExName   =   Request.Form("ExName")  
  ExTName   =   Request.Form("ExTName")  
  Set   conn   =Server.CreateObject("ADODB.Connection")  
  StrConn="Driver={Microsoft   Excel   Driver   (*.xls)};DBQ="&   Server.MapPath("Excel/"&ExName)  
  conn.Open   StrConn  
  Set   rs   =   Server.CreateObject("ADODB.Recordset")    
  Sql="select   *   from   ["&ExTName&"$]"  
  rs.Open   Sql,conn,1,1  
  %>  
  <br>  
  <form   method=post   action="JaAcc_Save.Asp"   name=form1   onSubmit="return   chk(this)">  
  <table   width="800"   border="0"   align=center   cellspacing=1   bgcolor=#CCCCCC>  
  <tr   align=center   height=20   bgcolor=#6699CC   style=color:white>    
              <td   colspan="4">导入数据列表(请确保字段没有错误)</td>  
          </tr>  
      <tr>  
  <td   align="center">  
  <input   name=Count   type=hidden   value="<%=rs.Fields.Count%>">  
  <%  
  for   i=0   to   rs.Fields.Count-1    
  %>  
  <input   name=ExFName<%=i%>   value="<%=Rs(i).Name%>"   size="10">  
  <%  
  Next  
  Response.Write   "</td></tr></table><table   width=500   border=0   align=center   cellspacing=1   bgcolor=#CCCCCC>"  
  Response.Write   "<tr   bgcolor=white><td   align=center>"  
  Dim   a  
  a=0  
  do   while   not   rs.eof  
  for   i=0   to   rs.Fields.Count-1  
  if   i   mod   rs.Fields.Count   =   0   then    
  Response.Write   "<br>"  
  End   if  
  %>  
  <input   name=ExCName<%=a%>   value="<%=Rs(i)%>"   size="10">  
   
  <%  
  a   =   a   +1  
  next  
  rs.MoveNext  
  Loop  
  Response.Write   "</td></tr><tr><td   align=center><input   name='A'   type=hidden   value="&a&"><input   type=submit   value=导入数据></td></tr></table>"  
  Response.Write   "</form>"  
  rs.close  
  set   rs=nothing  
  conn.close  
  set   StrConn=nothing  
  Response.End  
  End   if  
  %>  
   
   
   
  <style>  
  td,input,select,textarea,body{font-size:9pt}  
  a{color:blue}  
  a:hover{color:green}  
  </style>  
   
  <script   language="JavaScript"   type="text/JavaScript">  
  function   chk()  
  {  
      if   (document.form1.ExName.value=="")  
      {  
          alert("Excel文件名称不能为空!");  
          document.form1.ExName.focus();  
          return   false;  
      }  
          if   (document.form1.ExTname.value=="")  
      {  
          alert("Excel数据表文件名称不能为空!");  
          document.form1.ExTname.focus();  
          return   false;  
      }  
  }  
  </script>  
   
  <br>  
  <table   width="500"   align=center   cellpadding=5   cellspacing=1   bgcolor=#006699>  
  <tr   bgcolor=#6699CC   style=color:white   align=center>    
  <td>  
  <b>导入数据注意事项</b><br>  
  1:请确保你清楚Excel文件内容字段与导入数据库的字段相同<p>  
  2:请确保你清楚Excel文件的表名正确   如   Sheet1<p>  
  3:请确保服务器上有该Excel文件存在于Excel文件夹里,如没有,请上传并记下文件名称<p>  
  </td>  
  </tr>  
  </table>  
  <form   method="post"   action="upload2.asp"   enctype="multipart/form-data"   name="form2">  
  <table   width="500"   align=center   cellpadding=5   cellspacing=1   bgcolor=#006699>  
  <tr   bgcolor=#6699CC   style=color:white   align=center>    
  <td>  
  <input   type=file   name="sf_upfile"   size="30"   class=box>  
  <input   type="submit"   name="submit"   value="上   传"   class="box">  
  </td>  
  </tr>  
  </table>  
  </form>  
  </body></html>  
  <form   method=post   action="?action=do"   name=form1   onSubmit="return   chk(this)">  
      <table   width="500"   align=center   cellpadding=5   cellspacing=1   bgcolor=#006699>  
          <tr   bgcolor=#6699CC   style=color:white   align=center>    
              <td   width="183">Excel地址(如:JaStudio.xls)</td>  
              <td   width="217">Excel导入数据表名   (如:Sheet1)</td>  
              <td   width="64"></td>  
          </tr>  
          <tr   bgcolor=white>    
              <td><input   name=ExName   value=""   size="30"></td>  
              <td><input   name=ExTname   value=""   size="30">    
              <td><input   type=submit   value=导入数据>   </tr>  
      </table>  
  </form>      
   
  <meta   http-equiv="content-type"   content="text/html;charset=gb2312">  
  <style>  
        td,input,select,body{font-size:9pt}  
  </style>  
   
   
  <script>  
  function   backup()  
  {  
  window.open("admin_backupdata.asp","","Width=400,Height=300")  
  }  
  </script>  
  <%  
  Else  
  Response.Redirect   "1.asp"  
  End   If  
  %>  
   
   
   
  此页面可以成功的将EXCEL的内容读出来,下面是向数据库进行存储的过程  
  <!--#include   file=common.asp-->  
  <%  
  Dim   a  
  Dim   FCount  
  Dim   Fname  
  Dim   Cname  
  Dim   i  
  Dim   ccc  
  Dim   b  
  a   =   Cint(Request.Form("A"))  
  Fcount   =   Cint(Trim(Request.Form("Count")))  
  for   i=0   to   Fcount-1  
  if   i=Fcount-1   Then  
  Fname   =   Fname   &   Request.Form("ExFName"&i&"")  
  else  
  Fname   =   Fname   &   Request.Form("ExFName"&i&"")   &   ","  
  end   if  
  next  
  for   i=0   to   a  
  Cname   =   Cname   &   Request.Form("ExCName"&i&"")   &   "|"    
  next  
  Cname   =   split(Cname,"|")  
   
  for   i=0   to   a  
  if   i>0   and   i   mod   Fcount   =   0     and   i<a   then  
  Response.Write   "<br>"  
  for   b=0   to   Fcount-1  
  if   b<>   Fcount-1   Then  
  ccc   =   ccc   &   "'"   &   cname(i+b)   &   "',"    
  Else  
  ccc   =   ccc   &   "'"   &   cname(i+b)   &   "'"  
  End   if  
  next  
  Sql   ="Insert   into   SingUp("&Fname&")values('"&ccc&"')"  
  'Response.Write   Sql  
  ccc   =""  
  Conn.ExeCute(Sql)  
  Response.Write   "<br>"  
  End   If    
  next    
  Response.write   "<script   language='javascript'>"   &   chr(13)  
      Response.write   "alert('记录导入成功!');"   &   Chr(13)  
      Response.write   "window.document.location.href='JaExcel_Acc.Asp';"&Chr(13)  
      Response.write   "</script>"   &   Chr(13)  
              Response.End  
  erase   Cname  
  %>  
   
   
  以下是我数据库的驱动代码:  
  <%@   LANGUAGE   =   VBScript   CodePage   =   936%>  
  <%  
  Dim   IsSqlDataBase  
  Dim   datafile    
  Dim   conn  
  Dim   connstr  
  set   conn=server.createobject("adodb.connection")  
  IsSqlDataBase=0           '定义数据库类别,0为Access数据库,1为SQL数据库  
  If   IsSqlDataBase=0   Then  
  ''''''''''''''''''''''''''''''   Access数据库   '''''''''''''''''''''''''''''''''''''''''''''''''''''''''  
  datafile         ="data/zjdata.mdb"             '数据库的文件名  
  connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="   &   Server.MapPath(datafile)  
  conn.open   connstr  
  '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''  
  Else  
  Dim   SqlLocalName  
  Dim   SqlUserName  
  Dim   SqlPassword  
  Dim   SqlDatabaseName  
  ''''''''''''''''''''''''''''''   SQL数据库   ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''  
  SqlLocalName       ="(local)"           '连接IP     [   本地用   (local)   外地用IP   ]  
  SqlUsername         ="sa"                     '用户名  
  SqlPassword         ="jingan"                       '用户密码  
  SqlDatabaseName="JaZone"               '数据库名  
  conn.Open   "Provider=Sqloledb;   User   ID="   &   SqlUsername   &   ";   Password="   &   SqlPassword   &   ";   Initial   Catalog   =   "   &   SqlDatabaseName   &   ";   Data   Source="   &   SqlLocalName   &   ";"  
  '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''  
  End   If  
  On   Error   Resume   Next  
  %>  
   
   
   
  在向数据库添加纪录的地方执行,页面提示说已经成功提交数据,但是到ACCESS数据库里看,表里却没有数据,还是提交前的数据,为高手指点一下 问题点数:100、回复次数:7Top

1 楼s1ihome(My hometown is a beautiful village)回复于 2006-03-20 13:51:40 得分 15

把这个On   Error   Resume   Next先去掉显示详细错误好调试  
  Top

2 楼renwenbin1982()回复于 2006-03-20 14:04:03 得分 0

有提示了:  
  Microsoft   JET   Database   Engine   (0x80040E37)  
  找不到输出表   'SingUp'   。  
  Top

3 楼s1ihome(My hometown is a beautiful village)回复于 2006-03-20 15:22:22 得分 5

那就在你的数据库里面先建立signUp这个表吧Top

4 楼boyd1985(波伊德乐园->http://www.boyd.cn)回复于 2006-03-20 15:33:58 得分 70

先确保数据库里存在SignUp这个表,  
   
  然后将添加的东西改动一下:  
  Sql   ="Insert   into   SingUp   values('"&ccc&"')"  
  Top

5 楼jspadmin(阿笨狗http://www.pifoo.com域名空间专卖cn20、com50元)回复于 2006-03-20 15:37:03 得分 10

检查数据库中是否有这个表,并且注意sql语句每个词间加个空格Top

6 楼renwenbin1982()回复于 2006-03-20 21:52:22 得分 0

谢谢楼上的达人,结贴喽Top

7 楼hreoghost(Challenge oneself,break through limit!)回复于 2006-03-22 08:45:41 得分 0

做个记号````  
   
  学习中...Top

相关问题

  • 将Excel导入Access
  • 请教关于用ASP将Excel导入Access的问题
  • 把EXCEL表导入ACCESS
  • excel-》access导入问题
  • asp 中导入Excel文件的问题,
  • 请大家帮帮忙 在ASP中怎样把EXCEL导入ACCESS 谢谢
  • 如何将excel的文本导入access?
  • 怎样将EXCEL文件导入ACCESS中??
  • 100 求助 access 数据 导入excel。
  • excel表数据如何导入access表?

关键词

  • 字段
  • excel
  • 文件
  • 数据
  • 内容
  • 导入
  • closeset
  • 请确保
  • 清楚
  • rs

得分解答快速导航

  • 帖主:renwenbin1982
  • s1ihome
  • s1ihome
  • boyd1985
  • jspadmin

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo