11赞
995
当前位置:  开发笔记 > 数据库 > 正文

asp中把数据导出为excel的2种方法

这篇文章主要介绍了asp中把数据导出为excel的2种方法,分别用excel组件、文件组件实现,需要的朋友可以参考下

我们在做项目的时候经常要将数据库的数据导出到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文件成功,点击下载!"
rstData.Close 
set rstData = nothing
Conn.Close
Set COnn= nothing
%>

可以看出,第一种方法是直接导出的是excel文件,而第二张方法是到处的是文本文件,只不过后缀名改成了xls。

然后看起来就是excel了。

经过对比第一种方法的效率没有第二种方法的效率高,而且也不好控制。

推荐大家使用第二种写文件的方法来进行excel操作。

推荐阅读
  • docker启动后日志所在路径为“varlibdockercontainers容器ID容器ID-json.log”。我们也可以直接使用“dockerlogs<容器ID>”命令查看日志。 ... [详细]
  • sql注入是指用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些需要得知的数据。sql注入攻击是黑客对数据库进行攻击的常用手段之一,我们可以通过数据库安全防护技术实现有效防护。 ... [详细]
  • yum方式安装php5.5的方法:1、检查当前系统中安装的php包;2、卸载已安装的php包;3、运行yuminstall;4、执行【yuminstallphp55w-fpm】命令安装phpfpm。 ... [详细]
  • yum安装php环境的步骤:1、安装nginx;2、安装php;3、编辑www.conf配置文件;4、启动php-fpm和nginx;5、编辑php.ini配置文件,开启文件上传功能;6、配置数据库。 ... [详细]
  • Docker容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上(包括流行的Linux机器、windows机器),也可以实现虚拟化。 ... [详细]
  • 20个常用命令:ls、lsblk、md5sum、dd、uname、history、sudo、mkdir、touch、chmod、chown、apt、tar、cal、date、cat、cp、mv、pwd、cd。 ... [详细]
  • sql更新记录的命令是UPDATE。UPDATE命令用于修改或更新mysql中的数据,该命令可以同时更新一个或多个字段,还可以在WHERE子句中指定任何条件。 ... [详细]
  • oracle密码忘记的解决办法:首先登录到安装oracle数据库服务器的操作系统;然后查找环境变量【ORACLE_SID】的设置;最后输入命令【sqlplusassysdba】,以sysdba的身份登录即可。 ... [详细]
  • 区别:左连接返回包括左表中的所有记录和右表中连接字段相等的记录;右连接返回包括右表中的所有记录和左表中连接字段相等的记录;内连接只返回两个表中连接字段相等的行;全外连接返回左右表中所有的记录和左右表中连接字段相等的记录。 ... [详细]
  • oracle转义符有:1、单引号,可以引用字符串或对自身转义;2、双引号,将非法的格式符包装起来;3、and符号,接连两个转义自身;4、Escape,指定一个非特殊符号为转义符。 ... [详细]
devbox
RaymondKit
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有 京ICP备19059560号-4