asp 导出Excel ,导入Excel到SQL 速度极快
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
sp 导出excel ,导入excel到sql 速度极快[br][br][br]asp 导出excel ,导入excel到sql 速度极快[br][br]导出excel [br] <% [br][br] dim s,sql,filename,fs,myfile,x [br][br] set fs = server.createobject("scripting.filesystemobject") [br] '--假设你想让生成的excel文件做如下的存放 [br] filename = server.mappath("order.xls") [br] '--如果原来的excel文件存在的话删除它 [br] if fs.fileexists(filename) then [br] fs.deletefile(filename) [br] end if [br] '--创建excel文件 [br] set myfile = fs.createtextfile(filename,true) [br][br] 'set rs = server.createobject("adodb.recordset") [br] '--从数据库中把你想放到excel中的数据查出来 [br] 'sql = "select * from tb_execl order by id desc" [br] 'rs.open sql,conn [br] starttime = request("starttime")[br] endtime = request("endtime")[br] startendtime = "addtime between #"& starttime &" 00:00:00# and #"& endtime [br] &" 23:59:59#"[br] strsql = "select * from ljphs200 "[br] set rstdata =conn.execute(strsql)[br] if not rstdata.eof and not rstdata.bof then [br][br] dim trline,responsestr [br] strline="" [br] for each x in rstdata.fields [br] strline = strline & x.name & chr(9) [br] next [br][br] '--将表的列名先写入excel [br] myfile.writeline strline [br][br] do while not rstdata.eof [br] strline="" [br][br] for each x in rstdata.fields [br] strline = strline & x.value & chr(9) [br] next [br] myfile.writeline strline [br][br] rstdata.movenext [br] loop [br][br] end if [br] response.write "生成excel文件成功,点击下载!"[br] rstdata.close [br] set rstdata = nothing[br] conn.close[br] set conn = nothing[br] %> [br] exce导入到sql[br] <%[br] dim patnnow[br] patnnow="uploadfile/ultrawebgrid1.xls"[br] '=====================asp读取excel注事项===========================[br] 'i)将excel97或excel2000生成的xls文件(book)看成一个数据库,其中的每一个工作表(sheet)看成数据库表[br] 'ii)ado假设excel中的第一行为字段名.所以你定义的范围中必须要包括第一行的内容[br] 'iii)excel中的行标题(即字段名)不能够包含数字. excel的驱动在遇到这种问题时就会出错的。例如你的行标题名为“f1”[br] 'iiii)如果你的excel电子表格中某一列同时包含了文本和数字的话,那么excel的odbc驱动将不能够正常, 处理这一行的数据类型,[br] '你必须要保证该列的数据类型一致[br] '===========================================================[br] dim connxls,driver,dbpath,rs[br] ' 建立connection对象[br] set connxls = server.createobject("adodb.connection")[br] driver = "driver={microsoft excel driver (*.xls)};"[br] dbpath = "dbq=" & server.mappath(patnnow)[br] '调用open 方法打开数据库[br] connxls.open driver & dbpath[br] 'dsn连接方式[br] 'connxls.open "dsn=test"[br] '注意 表名一定要以下边这种格试 "[表名$]" 书写[br] sql="select * from [sheet1$] "[br] set rs=connxls.execute(sql)[br] if rs.eof and rs.bof then[br] response.write "
没有找到您需要的数据!!"[br] else[br] do while not rs.eof[br] conn.execute"insert into yufufei [br] (haoma,yuenow,yuenowtime,yueold,yueoldtime,state) values [br] ('"&rs("号码")&"','"&rs("当前余额(分)")&"','"&rs("当前余额时间")&"','"&rs("上次余额(分)")&"','"&rs("上次余额时间")&"','"&rs("当前状态")&"')"[br] 'response.write rs("接入号")&" "[br] rs.movenext[br] loop[br] end if[br] rs.close[br] set rs=nothing[br] connxls.close[br] set connxls=nothing[br] 'response.write "成功!"[br][br] conn.close[br] set conn=nothing[br][br] %> 该文章在 2010/7/22 21:41:44 编辑过 |
关键字查询
相关文章
正在查询... |