asp將table產生xls檔案的實作程式碼。複製代碼代碼如下:
<%@LANGUAGE=VBSCRIPT CODEPAGE=936%>
<%
if request(action)=1 then
Response.ContentType=application/ms-excel
Response.AddHeader content-disposition,attachment;filename=www.xls
end if
%>
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns=http://www.w3.org/1999/xhtml>
<head>
<meta http-equiv=Content-Type content=text/html; charset=gb2312 />
<title>無標題文件</title>
<style type=text/css>
table {
border-top:1px solid #003399;
border-left:1px solid #003399;
}
td {
border-right:1px solid #003399;
border-bottom:1px solid #003399;
}
thead {
background-color:#000066;
font-weight:bold;
padding:5px;
color:#FFFFFF;
}
</style>
<script language=javascript>
function tableToExcel(){
location.href='?action=1';
}
</script>
</head>
<body>
<input type=button value=匯出資料onclick=tableToExcel() />
<%
ConnStr=...
Set conn = Server.CreateObject(ADODB.Connection)
conn.Open connstr
set rs = server.CreateObject(adodb.recordset)
rs.open select top 10 * 從 [你的表名],conn,1,1
if not (rs.eof and rs.bof) then
column = rs.fields.count
response.Write(<table cellpadding='0' cellspacing='0'>)
response.Write(<thead><td>序號</td>)
for each f in rs.fields
response.Write(<td> & f.name & </td>)
next
response.Write(</thead>)
為 j = 1 to rs.recordcount
if j > 5 then '在第五條的時候隱藏資料,經過測試如果是display為none的資料是不會導出的
response.Write(<tr style='display:none'>)
else
response.Write(<tr>)
end if
response.Write(<td> & j & </td>)
for i = 0 至 column - 1
response.Write(<td> & rs(i) & </td>)
next
response.Write(</tr>)
rs.movenext
next
response.Write(</table>)
end if
rs.close
set rs = nothing
conn.close
set conn = nothing
%>
</body>
</html>