asp生成excel文件

Time:2019/4/21  keywords:asp生成excel文件

在使用asp操作excel文件中需要生成excel文件,下面介绍2种方法使用asp生成excel文件。

方法一:

此方法使用excel可以读取html页面中的table格式思想:

<%
Response.ContentType = "application/excel"
Response.AddHeader "Content-Disposition", "attachment;filename=""xxxx.xls"""
%>
<table>
<%while not rs.eof %>
<tr><td>你的excel单元格内容,有多个自己增加td</td></tr>
<%
 rs.movenext
 wend
%>
</table>

优点:可以生成多行的excel内容文件。

缺点:文件为伪excel文件,只是后缀名改变而已。



方法二:

使用已建立好的excel文件,使用asp类似操作数据库方式 拷贝一份excel文件并进行读写操作。

前期建立2个文件夹 分别 1 2,建立好的excel文件放在文件  1 中 文件名:cgb01.xlsx

<!-- #include file="../con.asp" -->
<%
Server.ScriptTimeOut=3600
'复制模板文件
dir1=Server.MapPath("1\cgb01.xlsx")
	'随机生成的文件名开始
	ycodenum=6 '验证码的位数,或者说成个数
	for i=1 to ycodenum
    Randomize '初始化随机数发生器
    ycode=ycode&Int((9*Rnd)) 'rnd是随机数,从0到1之间的任意实数,这里获得0到9之间的整数
	next
	tt=Replace(Request.Cookies("xmname")&date()&Second(time)&ycode,"/","-")
	'随机生成的文件名结束
dir2=server.mappath("2\"&tt&".xlsx")'生成新的文件名
Set fs = Server.CreateObject("Scripting.FileSystemObject")
'Response.write dir1&"<br>"&dir2
fs.copyfile ""&dir1&"",""&dir2&""
'复制模板文件结束

'打开excel文件
set excelconn=server.createobject("adodb.connection")  
excelconn.open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 8.0;Data Source=" & dir2 '打开此文件 
'打开excel文件结束
while not re.eof

scexcel="insert into [表单名$] (列名1,列名2,列名3) values ('列名1内容','列名2内容','列名3内容')"
'Response.write scexcel&"<br>"
excelconn.execute scexcel
re.movenext
wend

re.close
set re=nothing
excelconn.Close()  
set excelconn=nothing 
%>
<BR><BR><BR><BR><CENTER><A HREF="2\<%=tt%>.xlsx" target="_blank"><B>【下载 <%=ta1%> excel表】</B></A></CENTER>

优点:真正的 excel文件

缺点:生成内容在2000行以内(有大神此方法能不限行数请告知 )