将数据批量通过excel导入access的asp代码

excel是常用的统计数据保存格式,如何将保存在excel表格中的数据导入asp网站的access数据库,进行处理和显示呢?可以使用无组件上传把excel文件传到服务器上,然后打开excel,将里面的数据写入到access数据库中。
无组件今天不做讨论,这里介绍的是将excel中的数据读出来,然后写入到数据库中。

将数据批量通过excel导入access的具体asp代码如下:


<!-- #include file="adoconn.asp" -->
< %
'===========================================
' 函数功能:asp数据批量导入
' 原理:将excel中的数据导入到access
'===========================================

'连接excel数据库
path="./"
Dim xlsconn,strsource,xlbook,xlsheet,i
Dim myConn_Xsl,xlsrs,sql,objCmd  
Set xlsconn = server.CreateObject("adodb.connection")
Set xlsrs = Server.CreateObject("Adodb.RecordSet")

filename="商品"
file2="商品列表"
source=server.mappath(path&filename&".xls")

myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &source& ";Extended Properties=Excel 8.0"
xlsconn.open myConn_Xsl

sql = "Select * from ["&file2&"$]"
xlsrs.open sql,xlsconn,1,1
If xlsrs.eof Then
else
i=1
response.write "<TABLE border=1>"
Do While not xlsrs.eof
goods_name=xlsrs("商品名")
goods_images=xlsrs("图片")
cat_id=xlsrs("商品分类")
%>

<TR>
  <TD> <%=goods_name%></TD>
  <TD> <%=goods_images%></TD>  
  <TD> <%=cat_id%></TD>
</TR>

<%
  sql="insert into goods(goods_name,goods_images,cat_id) values('"&goods_name&"','"&goods_images&"',"&cat_id&")"
  conn.execute(sql)
i=i+1
xlsrs.MoveNext
    Loop  
response.write "</table>"
End If
xlsrs.close

Response.write "共导入<font color='red'>" & i-1 & "</font>条记录.<br>" & vbCrLf

set xlsconn=nothing
set objCmd=Nothing
% >



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

文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 代码 excel access
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.