北京新达网联:关于asp后台导成Excel问题

来源:百度文库 编辑:神马品牌网 时间:2024/05/03 03:06:26
小弟asp菜鸟,搞不明白这个问题,请大家帮忙解决,小弟万分感激!
代码如下:

=================================页面1
<!--#include file="conn.asp"-->

<form id="form1" name="form1" method="post" action="2.asp?Op=DownLoad">
<p><%
set rs=server.createobject("adodb.recordset")
sql="select * from [User]"
rs.open sql,conn,1,1
%></p>
<table width="100%" border="0">
<%
do while not rs.eof
%> <tr>
<td><%=rs("UserName")%></td>
</tr>
<%

rs.movenext
loop
%>
</table>
<p> </p>
<p>
<input type="submit" name="Submit" value="将数据导成Excel格式" />
</p>
</form>
=====================================页面2

<!--#include file="conn.asp"-->
<%
dim Rs_code,Sql_code,Rs_date,Sql_date
If Request("Op")="Show" Then
sborder="0"
sbg1="bgcolor=Black"
sbg2="bgcolor=White"
Else
sborder="1"
sbg1=""
sbg2=""
If Request("Op")="Excel" Then
Response.ContentType = "application/msexcel"
Response.AddHeader "Content-disposition","inline; filename=1.xls"
ElseIf Request("Op")="DownLoad" Then
Response.ContentType = "application/msexcel"
FileName="("&Request("sYear")&"-"&Request("sMonth")&")username(此处为你要做的程序名,自己定义)"
Response.AddHeader "Content-disposition","attachment; filename="&FileName&".xls"
End If
End If
%>
<table width="875" border=<%=sborder%> cellspacing="1" cellpadding="1" align="center" <%=sbg1%>>
<tr <%=sbg2%>>

=========================================
小弟搞不明白怎么把里面的数据往Excel里送,能帮着讲解一下么,这样导出的是空的Excel表!

首先要新建一个模板XLS,把框架打好,接着再用程序打开这个文件,把内容加进去后再另存为新的文件就可以了.下面是代码演示,里面有的我也不明白是怎么回事,我也是COPY别人的,我知道的地方都有注释.

set objExcelApp = CreateObject("Excel.Application")

objExcelApp.WorkBooks.Open(Server.MapPath("\工资表\emptyTable.xls"))'这句为打开模板文件:emptyTable.xls.

set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)
objExcelSheet.Range("A1").Value = "众为网络"&chkYear&"年"&chkMonth&"月工资发放表"'A1格的内容为******发放表

'也就是可以用objExcelSheet.Range("A1").Value=***这样的形式来为每个单元格赋值,其中"A1"可以为变量,可以用循环来操作

XLS_i=3
Set Rs=Conn.Execute("Select * From Wages Where [Year]="&chkYear&" And [Month]="&chkMonth)
Do WHile Not Rs.Eof
objExcelSheet.Range("A"&XLS_i).Value = Rs(3)
objExcelSheet.Range("B"&XLS_i).Value = Rs(4)
objExcelSheet.Range("C"&XLS_i).Value = Rs(5)
objExcelSheet.Range("D"&XLS_i).Value = Rs(6)
objExcelSheet.Range("E"&XLS_i).Value = Rs(14)
objExcelSheet.Range("F"&XLS_i).Value = Rs(9)
objExcelSheet.Range("G"&XLS_i).Value = Rs(15)
objExcelSheet.Range("H"&XLS_i).Value = Rs(10)
objExcelSheet.Range("I"&XLS_i).Value = Rs(11)
objExcelSheet.Range("J"&XLS_i).Value = Rs(16)
objExcelSheet.Range("K"&XLS_i).Value = Rs(17)
objExcelSheet.Range("L"&XLS_i).Value = Rs(12)

objExcelSheet.Range("C"&XLS_i+1).Value = Rs(13)
XLS_i=XLS_i+2
Rs.moveNext
Loop
Set Rs=Nothing

objExcelSheet.Range("A"&XLS_i-1&":K19").Delete'删除指定的单元格.

'保存文件并关闭对象
objExcelBook.SaveAs Server.MapPath("\工资表\"&chkYear&"年"&chkMonth&"月工资表.xls")
objExcelBook.Save
objExcelApp.Quit
set objExcelApp = Nothing