之前已经[url=http://www.holmesian.org/xls-dbf-vb-asp-access-sql/]多次提到access等数据库转换成xls的Excel文件的方法[/url],
今天准备讲一下有关Excel的xls文件转换成Access的Mdb文件的方法。
可以通过[color=#DC143C]asp程序[/color]以及[color=#8B0000]本地软件[/color]的方法实现这个功能。
如果可以的话推荐使用本地软件 如强大的 [color=#4169E1]xlstomdb[/color] 软件
可以非常简单的实现相关的功能
鉴于网上XlsTomdb软件非常难找,而且找到的大多都是未注册版本,有导入和转换数据最多1000条的限制
所以这里放上一个已经破解过了的xlstomdb 完全忽略1000条的限制
至于通过asp程序来实现xls转成Access数据库mdb文件的方法也比较简单
只是在对不同的xls文件可能要稍作调整 源码如下
[quote]<%function exctoacc(excpath,mdbpath)
Dim excConn,Coon
Dim excStrConn,strConn
Dim excrs,rs
Dim excSql
Set excconn=Server.CreateObject("ADODB.Connection")
Set excrs = Server.CreateObject("ADODB.Recordset")
excStrConn="Driver={Microsoft Excel Driver (*.xls)};DriverId=790; DBQ="&Server.MapPath(excpath)
excconn.Open excStrConn
excSql="select * from [Sheet1$]" '查询excel语句
excrs.Open excSql,excconn,2,2
set rs=server.createObject("ADODB.Recordset")
Set conn=Server.CreateObject("ADODB.Connection")
StrConn="provider=microsoft.jet.oledb.4.0; data source="&Server.MapPath(mdbpath)
conn.Open StrConn
del_str="delete * from Sheet1"
conn.execute del_str
sql="select * from Sheet1" '修改 这里改成相应的sheet的名称
rs.open sql,conn,1,3
do while Not excrs.EOF
rs.addnew
for i=0 to excrs.Fields.Count-1
rs(i+1)=excrs(i)
next
rs.update
excrs.MoveNext
Loop
rs.close
set rs=nothing
excrs.close
set excrs=nothing
excConn.close
set excConn=nothing
conn.close
set conn=nothing
exctoacc="<script>alert('数据导入成功!');javascript:window.location.href='index.htm'</script>"
End function
%>[/quote]
调用方法: response.write exctoacc("a.xls","old.mdb")
-
完美实现Excel的xls文件转access的MDB文件
post by Holmesian / 2009-5-11 13:51 Monday
发表评论: