首页 > 编程语言 >ASP中把数据导出为Excel的三种方法

ASP中把数据导出为Excel的三种方法

时间:2022-08-27 17:58:17浏览次数:61  
标签:Set rs Excel ExcelBook 导出 ASP strLine rstData conn

 

方法一:用excel组件

这种方法利用Excel组件直接导出excel文件,要求服务器端安装有微软office(Excel)程序,否则无法运行。

完整示例如下:

Set conn=server.CreateObject("adodb.connection")
connstr="provider=microsoft.jet.oledb.4.0;data source="& Server.MapPath("/db.mdb")
conn.open connstr

set rs=server.createobject("adodb.recordset")
sql="select * from xiaozu"
rs.open sql,conn,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(1,2).value = "学生名单"
ExcelBook.WorkSheets(1).cells(1,3).value = "所属学院"
ExcelBook.WorkSheets(1).cells(1,4).value = "实习景区"
cnt = 2
do while not rs.eof
ExcelBook.WorkSheets(1).cells(cnt,1).value = rs("XZName")
ExcelBook.WorkSheets(1).cells(cnt,2).value = rs("XZStudents")
ExcelBook.WorkSheets(1).cells(cnt,3).value = rs("XZCollage")
ExcelBook.WorkSheets(1).cells(cnt,4).value = rs("XZJD")
rs.movenext
cnt = cint(cnt) + 1
loop
Excelbook.SaveAs "d:\yourfile.xls" '这个是数据导出完毕以后在D盘存成文件
ExcelApp.Application.Quit '导出以后退出Excel
Set ExcelApp = Nothing '注销Excel对象
rs.close
set rs = nothing
conn.close
set conn = nothing
方法二:使用文件组件

这种方法导出的是文本文件,只不过后缀名改成了xls。

完整示例如下:

Set conn=server.CreateObject("adodb.connection")
connstr="provider=microsoft.jet.oledb.4.0;data source="& Server.MapPath("/db.mdb")
conn.open connstr

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 xiaozu "
Set rstData =conn.execute(strSql)
if not rstData.EOF and not rstData.BOF then
dim strLine,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='order.xls' target='_blank'>下载!"
rstData.Close
set rstData = nothing
Conn.Close
Set Conn = nothing
方法三:

该方法不使用任何组件。而是将所有导出的数据在网页中以Table进行显示,然后增加如下两行代码,即可实现打开网页后直接下载保存为Excel:

Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment;filename=TestExcel.xls"

完整示例如下:

<%
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment;filename=TestExcel.xls"

Set conn=server.CreateObject("adodb.connection")
connstr="provider=microsoft.jet.oledb.4.0;data source="& Server.MapPath("/db.mdb")
conn.open connstr

set rs=server.createobject("adodb.recordset")
sql="select * from xiaozu"
rs.open sql,conn,1,1
%>
<table border="1">
<tr>
<td>小组名称</td>
<td>学生名单</td>
<td>所属学院</td>
<td>实习景区</td>
</tr>
<%
while not rs.eof and not rs.bof
%>
<tr>
<td><%=rs("XZName")%></td>
<td><%=rs("XZStudents")%></td>
<td><%=rs("XZCollage")%></td>
<td><%=rs("XZJD")%></td>
</tr>
<% rs.movenext
wend
%>
</table>
<%
rs.close
set rs = nothing
conn.close
set conn = nothing
%>

————————————————
版权声明:本文为CSDN博主「qhdzj87」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qhdzj87/article/details/122541475

标签:Set,rs,Excel,ExcelBook,导出,ASP,strLine,rstData,conn
From: https://www.cnblogs.com/dcsz/p/16631035.html

相关文章

  • 20220827 使用EasyExcel导出复杂表格
    1、前言突然有个比较复杂的表格导出需求,写着挺好玩的,记录一下。需要实现的表格如图所示:先分析一下表格,可以看出大致分了四个区域:①第2-8行,②第9行,③第10-14行,④第15行。......
  • delphi TMS FlexCel 导出PDF
    TMSFlexCel导出PDF属性和方法TFlexCelPdfExport用于将Excel文件导出为PDF的组件。unitFlexCel.RenderTFlexCelPdfExport.CreateconstructorCreate(constaWorkbo......
  • ASP.NET Core 6.0+Vue.js 3 实战开发(视频)
    大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章或视频能成为你成长路上的垫脚石。录制视频的体验这是一个收费的视频,很抱歉,让您失望了。我尝试......
  • PL/SQL Developer 导出表结构和表数据
    PL/SQLDeveloper导出表结构和表数据-百度经验 https://jingyan.baidu.com/article/fcb5aff78e6a48edab4a7146.html工作的时候需要从plsql中导出表结构和表数据......
  • mysql导入导出sql文件
    mysql导入导出sql文件-天道酬勤,坚持!-博客园 https://www.cnblogs.com/yuwensong/p/3955834.htmlWindow下1.导出整个数据库mysqldump-u用户名-p数据库名>导出......
  • win32com: 修改excel已用区域的列宽
    fromwin32com.clientimportDispatchif__name__=='__main__':excel=Dispatch("ket.Application")#启动wpsexcel应用。Microsoftexcel用Excel.Applica......
  • 使用shell脚本导出数据
    话不多说,直接上码dbuser='用户名'dbpassword='密码'dbname='库名'backtime=`date+%Y%m%d%H%M%S`logpath='日志路径'datapath='数据存放路径'echo'开始导出数据库......
  • excel如何将多个单元格内容合并到一个单元格中
    excel应用过程中经常会有需要将多个单元格的内容合并在一起输入到单元格当中,这里给大家分享一下方法工具/原料excel2016方法/步骤 将单元格A2,B2,C2中的......
  • excel表格如何设置下拉选项
    在EXCEL表格中,进入数据菜单栏,打开数据验证窗口,设置允许序列,在来源中输入多个下拉选项,具体操作方法如下:1.点击数据验证。打开EXCEL表格,选中单元格,点击菜单栏上“数据-数据......
  • 使用PostMan请求Asp.Net Web Api接口错误,Swagger请求正常
    一、使用PostMan请求Asp.NetWebApi报错,如下图:二、使用Swagger请求Asp.NetWebApi正常,如下图:三、遇到如上问题,可能是以下两种问题导致1.先检查WebAPI接口的入参类......