参考代码:
wenjian=request.Form("floor")
fileext=mid(wenjian,InStrRev(wenjian,".")+1)
if lcase(fileext)<>"xls" then
response.write "<script>alert ('文件格式不对,请上传Excel文件')window.location.href='updateFloor.asp'</script>"
response.end
end if
set conne=server.CreateObject("ADODB.Connection")
connStre="Provider=Microsoft.Jet.OLEDB.4.0Data Source=" &Server.MapPath( ""&wenjian&"" )&"Extended Properties='Excel 8.0HDR=YESIMEX=1'"
conne.open connStre
Sqle="select * from [sheet1$] "
Set rse = Server.CreateObject("ADODB.Recordset")
rse.open sqle,conne,1,1
'验证
hang=2
do while not rse.eof
'名称不能为空
if trim(rse(0))<>"" then
else
mess="第"&hang &"行名称为空,请检查!"
response.Write"<script>alert('"&mess &"').window.location.href='updateFloor.asp'</script>"
response.End()
end if
rse.movenext
hang=hang+1
loop
rse.movefirst
do while not rse.eof
set rst=server.CreateObject("adodb.recordset")
sqlt="select * from Sellman"
rst.open sqlt,conn,1,3
rst.addnew()
rst("CompanyName")=c2(rse(0))
rst("CompanyInfo")=c2(rse(1))
rst("address")=c2(rse(2))
rst("tel")=c2(rse(3))&" "&c2(rse(7))
rst("Fax")=c2(rse(4))
rst("linkman")=c2(rse(5))
rst("Homepage")=c2(rse(8))
rst("Email")=c2(rse(6))
rst.update()
rst.close
set rst=nothing
rse.movenext
loop
rse.close
set rse=nothing
response.Write "<script>alert('导入成功!')location.href='updateFloor.asp'</script>"
最简单的办法是使用摸板替换的方法,类似网上自动生成HTML页面,但你生成的是EXCEL文件,原理是一样的都是替换模板中的预定字符串为指定数据,然后用FSO写到目录的指定文件中.
先用EXCEL制作好想要得到的效果,和做普通EXCEL一样,做好后保存为[单个网页文件],然后使用[记事本]打开,看到了,和HTML文件差不多吧.将这些字符串转换为ASP字符串形式应该会吧(注意保持文件中字符串的完整),完毕后将文件另存为ASP文件供你调用,把要填写数据的地方使用变量替换,如应该输入用户名称的地方(单元格),先放置[username],其他与此原理相同.
将你获取的数据在此模板中做替换,如:
Replace("模板字符串","[username]","baidu")
其他与此相同,这样就生成了带有相关数据的字符串.
直接使用FSO将文件保存到指定位置为[文件名.xls]
不用担心生成XLS文件不被识别,打开和下载都和普通的EXCEL文件一样,并没有破坏EXCEL数据结构.
需要注意的是对数据格式处理.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)