[ASP代码]execl数据批量导入数据中
来源:
互联网
日期:2012-7-31
Tc711Com提示:[ASP代码]execl数据批量导入数据中 | 这几天,公司接到一个订单客户要求后期可以批量导入数据库中,初次做这样的程序有点摸不到头脑,于在网上搜了一些这方面的资料.经过一段时间研究终于实现了.
要实现把execl导入数据库中,有两种方法:
(1)用 server.CreateObject("Excel.Application"),程序如下:
<html> <head> <meta http-equiv='refresh' content='0; URL="index.asp'> <title>正在上传中……</title> </head>
<body> <%Set xlApp = server.CreateObject("Excel.Application") strsource =request("pathf") carea=request("bdsqs") typea=request("city") Set xlbook = xlApp.Workbooks.Open(strsource) Set xlsheet = xlbook.Worksheets(1) i=1 while xlsheet.cells(i,1)<>"" t1=xlsheet.Cells(i, 1) t2=xlsheet.Cells(i, 2) t3=xlsheet.Cells(i, 3) t4=xlsheet.Cells(i, 4) t5=xlsheet.Cells(i, 5) t6=xlsheet.Cells(i, 6) t7=xlsheet.Cells(i, 7) t8=xlsheet.Cells(i, 8) set adda=server.CreateObject("adodb.connection") adda.open"provider=microsoft.jet.oledb.4.0;data source="&server.MapPath("excel.mdb") adda.execute("insert into maindate(typea,carea,cname,address,tel,fax,postcode,lianxi,website,email) values ('"&typea&"','"&carea&"','"&t1&"','"&t2&"','"&t3&"','"&t4&"','"&t5&"','"&t6&"','"&t7&"','"&t8&"')") i=i+1 wend set xlsheet=nothing set xlbook=nothing xlApp.quit response.write "<script language='javascript'>window.alert('发布成功!')</script>" %> </body> </html>
我用这种方法出现了以下错误:
对 Server.CreateObject 的调用失败。拒绝对此对象的访问。在网上找了相关的资料,说是操作系统的office组件不支持些方法.
Microsoft 目前建议不要从任何无人值守的、非交互式客户端应用程序或组件(包括 ASP、DCOM 和 NT Service)中进行 Microsoft Office 应用程序的“自动化”,也不为此提供支持,因为 Office 在这种环境中运行时可能会出现不稳定的现象并且/或者会死锁
方法二:
<% '下面连接到whole.mdb表table curDir = Server.MapPath("..\..\fshx\fshx.mdb") //数据库文件的路径 Set conn1 = Server.CreateObject("ADODB.Connection") conn1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & curDir Set rs1 = Server.CreateObject("ADODB.Recordset") Set rs1.ActiveConnection = conn1 rs1.Source = "select * from product" rs1.CursorType = 3 ' adOpenKeyset rs1.LockType = 3 'adLockOptimistic rs1.Open '下面连接到student.xls表sheet1$ filename=request("upfilename")//这里是excel文件名,我用变量传过来, dir= Server.MapPath(filename) set conn2=CreateObject("ADODB.Connection") conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Extended properties=Excel 8.0;Data Source="&dir sql1="select * from [sheet1$]" set rs=server.createobject("adodb.recordset") rs.open sql1,conn2,3,3 Do While Not rs.Eof rs1.AddNew rs1(0)=j for i=0 to rs.Fields.Count-1 rs1(i)=Trim(rs(i)) Next rs1.Update rs.MoveNext j=j+1 Loop rs.Close rs1.Close conn2.Close conn1.Close Set rs=nothing Set conn=nothing response.write("<script language=javascript>alert('导入成功!');window.close();</script>") response.end %>
说明:如果网站服务器上的话,那么,execl 文件也要传上服务器上,可以用程序实现,具体的我就不说了.另外,excel文件中的数据必须与access数据库的中数据相对应, 对于复杂的数据库,比较麻烦些.
如果要把access数据库导出execl文件只须一句代码<% response.ContentType ="application/vnd.ms-excel" %>就行了
更多的[ASP代码]execl数据批量导入数据中请到论坛查看: http://BBS.TC711.COM
【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】
来源:
互联网
日期:2012-7-31
|
|
|