看看ASP批量导入EXCEL中数据入库
最近搞了一个邮件管理系统,有大量邮件,要输入这些邮箱进数据库,一个个的手工输入,是很不现实的,只能大批量导入,由于邮箱是存放在EXCEL文件中,只能从EXCEL文件中导入!
看看是如何导入的!
本人写了一个过程,具体代码如下:
文件GetExcelData.asp
<%
Sub GetExcelData(excelPath)
Dim excelConn,excelDriver,excelRs,excelSql
Dim toMailRs,toMailSql
excelDriver="Driver={Microsoft Excel Driver (*.xls)};DriverId=790; DBQ="&Server.MapPath(excelPath)
Set excelConn=Server.CreateObject("Adodb.Connection")
excelConn.Open excelDriver
excelSql="select * from [Sheet1$]"
Set excelRs=excelConn.Execute(excelSql)
While Not excelRs.Eof
toMailSql="select * from email where email_name='"&Trim(excelRs(0))&"'"
Call OpenRs(toMailRs,toMailSql,1)
If toMailRs.Eof Then
'这一步是写入数据库,具体数据库表请您修改
toMailSql="insert into email(email_name,email_user_name,email_add_date,email_sys_admin,email_sys_name,email_open)"
toMailSql=toMailSql&" values('"&Trim(excelRs(0))&"','未知',"
toMailSql=toMailSql&"'"&Now()&"',"&CInt(Session("sysid"))&",'"&Trim(Session("sysname"))&"',true)"
'----------------------------------------------------------------
conn.Execute(toMailSql)
'Response.Write toMailSql
End If
Call CloseRs(toMailRs)
excelRs.MoveNext
Wend
excelRs.Close
Set excelRs=Nothing
excelConn.Close
End Sub
'Call GetExcelData("/fileUpLoad/email.xls")
%>
使用方法:
If SafeRequest("act")="badd2" Then
Dim eXlsFilePath
eXlsFilePath=SafeRequest("exls")
Call GetExcelData(eXlsFilePath)
Call Alert("您批量导入邮箱成功了!","addEmail.asp")
End If
注意:EXCEL中Sheet1$中A列为邮箱名,相当我们数据库中第一列,同时还要注意,读取数据时,A1行是不读取,所以数据应写在A2行以下,因为读取数据是从A2行开始,所以A1行写属性名如”邮箱名“,以区别,当作字段名,相当我们数据库字段,此实例中,EXCEL表结构如下:
A B C
------------------------------------------------
A1 邮箱名
A2 xxxx@163.com
说完了,您可以试一下!
本文转自:技术春天(www.wcplym.com),JSP入门,J2ME教程,WAP建站,ASP代码,VB学习,C++入门,服务器配置,IT项目管理,计算机图书订购!