我们在做项目的时候经常要将数据库的数据导出到excel中,很多asp用户并不知道怎么写。
这里明凯总结了两种方法来导出excel,希望能帮到大家。
方法一:用excel组件
< % set rs=server.createobject("adodb.recordset") sql="select * from mkusers" rs.open sql,objconn,1,1 Set ExcelApp =CreateObject("Excel.Application") ExcelApp.Application.Visible = True Set ExcelBook = ExcelApp.Workbooks.Add ExcelBook.WorkSheets(1).cells(1,1).value ="用户表" ExcelBook.WorkSheets(1).cells(2,1).value = "用户编号" ExcelBook.WorkSheets(1).cells(2,2).value = "登陆名" ExcelBook.WorkSheets(1).cells(2,3).value = "真实姓名" ExcelBook.WorkSheets(1).cells(2,4).value = "密码" cnt =3 do while not rs.eof ExcelBook.WorkSheets(1).cells(cnt,1).value = rs("provinceid") ExcelBook.WorkSheets(1).cells(cnt,2).value = rs("province") ExcelBook.WorkSheets(1).cells(cnt,3).value = rs("flag") ExcelBook.WorkSheets(1).cells(cnt,4).value = rs("id") rs.movenext cnt = cint(cnt) + 1 loop Excelbook.SaveAs "d:\yourfile.xls" '这个是数据导出完毕以后在D盘存成文件 ExcelApp.Application.Quit '导出以后退出Excel Set ExcelApp = Nothing '注销Excel对象 %>< % set rs=server.createobject("adodb.recordset") sql="select * from mkusers" rs.open sql,objconn,1,1 Set ExcelApp =CreateObject("Excel.Application") ExcelApp.Application.Visible = True Set ExcelBook = ExcelApp.Workbooks.Add ExcelBook.WorkSheets(1).cells(1,1).value ="用户表" ExcelBook.WorkSheets(1).cells(2,1).value = "用户编号" ExcelBook.WorkSheets(1).cells(2,2).value = "登陆名" ExcelBook.WorkSheets(1).cells(2,3).value = "真实姓名" ExcelBook.WorkSheets(1).cells(2,4).value = "密码" cnt =3 do while not rs.eof ExcelBook.WorkSheets(1).cells(cnt,1).value = rs("provinceid") ExcelBook.WorkSheets(1).cells(cnt,2).value = rs("province") ExcelBook.WorkSheets(1).cells(cnt,3).value = rs("flag") ExcelBook.WorkSheets(1).cells(cnt,4).value = rs("id") rs.movenext cnt = cint(cnt) + 1 loop Excelbook.SaveAs "d:\yourfile.xls" '这个是数据导出完毕以后在D盘存成文件 ExcelApp.Application.Quit '导出以后退出Excel Set ExcelApp = Nothing '注销Excel对象 %>
方法二:使用文件组件
< % dim s,sql,filename,fs,myfile,x Set fs = server.CreateObject("scripting.filesystemobject") '--假设你想让生成的EXCEL文件做如下的存放 filename = Server.MapPath("order.xls") '--如果原来的EXCEL文件存在的话删除它 if fs.FileExists(filename) then fs.DeleteFile(filename) end if '--创建EXCEL文件 set myfile = fs.CreateTextFile(filename,true) StartTime = Request("StartTime") EndTime = Request("EndTime") StartEndTime = "AddTime between #"& StartTime &" 00:00:00# and #"& EndTime &" 23:59:59#" strSql = "select * from mksuers " Set rstData =conn.execute(strSql) if not rstData.EOF and not rstData.BOF then dim trLine,responsestr strLine="" For each x in rstData.fields strLine = strLine & x.name & chr(9) Next '--将表的列名先写入EXCEL myfile.writeline strLine Do while Not rstData.EOF strLine="" for each x in rstData.Fields strLine = strLine & x.value & chr(9) next myfile.writeline strLine rstData.MoveNext loop end if Response.Write "生成EXCEL文件成功,点击<a href="/" rel="external nofollow" order.xls"" target=""_blank"">下载!" rstData.Close set rstData = nothing Conn.Close Set Conn = nothing %>
可以看出,第一种方法是直接导出的是excel文件,而第二张方法是到处的是文本文件,只不过后缀名改成了xls。
然后看起来就是excel了。
经过对比第一种方法的效率没有第二种方法的效率高,而且也不好控制。
推荐大家使用第二种写文件的方法来进行excel操作。
标签:
asp,导出excel
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“asp中把数据导出为excel的2种方法”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。