技术笔记

一名已转行的程序员
当前位置:网站首页 / 代码笔记 / 正文

asp实现excel导入access数据库

2017-02-20 / 代码笔记 / 636 次围观 / 0 次吐槽

建立 demo.asp 

<% 
Dim cn,oConn,connstr 
'打开XLS. 
Set cn = Server.CreateObject("ADODB.Connection") 
cn.Provider = "Microsoft.Jet.OLEDB.4.0 " 
cn.ConnectionString = "Data Source=" & Server.MapPath("data.xls") & ";" & _ 
"Extended Properties=Excel 8.0;" 
cn.Open 
'打开MDB. 
'connstr="DBQ="+server.MapPath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" 
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.MapPath("data.mdb")
set oConn=server.CreateObject("ADODB.CONNECTION") 
oConn.open connstr 

'读取数据. 
set rsRead=server.CreateObject("ADODB.Recordset") 
rsRead.Open "select * from [Sheet1$]",cn,1,1 
do until rsRead.EOF 
'写入数据库.
sql="insert into users(userid,[password])values('"& rsRead.Fields("userid")&"','" &rsRead.Fields("password") & "')"
response.Write(sql) 
oConn.Execute(sql ) 
rsRead.MoveNext 
loop 
%>

数据库data.mdb 

表users 
id,uesrid,password 

Excel文件data.xls 

数据 
userid password 
wang w521 
zhange z254 
hong h112 

ASP读取EXCEL注事项!
'i)将Excel97或Excel2000生成的XLS文件(book)看成一个数据库,其中的每一个工作表(sheet)看成数据库表 
'ii)ADO假设Excel中的第一行为字段名.所以你定义的范围中必须要包括第一行的内容 
'iii)Excel中的行标题(即字段名)不能够包含数字. Excel的驱动在遇到这种问题时就会出错的。例如你的行标题名为“F1” 
'iiii)如果你的Excel电子表格中某一列同时包含了文本和数字的话,那么Excel的ODBC驱动将不能够正常, 处理这一行的数据类型,你必须要保证该列的数据类型一致

注意:在EXCEL里面取小数点0.5的时候,会变成“.5”没有小数点前面的0 ;解决方法如下:

做个判断,是否是“.”点开头。如果是,则前面加上0

pwds=rsRead("password")
if left(pwds,1)="." then
pwds="0"&pwds
end if

推荐您阅读更多有关于“”的文章

本站所有文章如无特别注明均为原创。作者:程序员小邓 ,复制或转载请以超链接形式注明转自 技术笔记
原文地址《asp实现excel导入access数据库
额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP

Copyright 技术笔记 Rights Reserved.