明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

也談ASP中的RESPONSE屬性

[摘要]在隨意去逛的時(shí)候,看到《ASP中巧用Response屬性》這篇文章,想起以前看到的一篇國(guó)外相關(guān)的文章,不敢獨(dú)占,拿出來(lái)和大家分享。 調(diào)試是通過(guò)了,但有些用英文原話,還請(qǐng)大家多多包涵。 這里講的是用ASP頁(yè)面如何轉(zhuǎn)換成EXCEL表格的形式,大家一點(diǎn)還記得以前有大蝦說(shuō)過(guò)用DLL的形式來(lái)解決...
    在隨意去逛的時(shí)候,看到《ASP中巧用Response屬性》這篇文章,想起以前看到的一篇國(guó)外相關(guān)的文章,不敢獨(dú)占,拿出來(lái)和大家分享。
    調(diào)試是通過(guò)了,但有些用英文原話,還請(qǐng)大家多多包涵。
    這里講的是用ASP頁(yè)面如何轉(zhuǎn)換成EXCEL表格的形式,大家一點(diǎn)還記得以前有大蝦說(shuō)過(guò)用DLL的形式來(lái)解決,但這樣對(duì)于大數(shù)據(jù)量來(lái)說(shuō),實(shí)在是慢。如果用文中介紹的方法,將不占用服務(wù)器的資源,只是在客戶端打開。還有個(gè)好處是:在網(wǎng)頁(yè)中的表格顯示成什么樣子,在EXCEL中的表格就是什么樣子。好吧,再告訴一個(gè)令人激動(dòng)的消息,除了表格數(shù)據(jù),在EXCEL中,象按鈕等都一概不顯示。這樣又解決了大家的網(wǎng)頁(yè)打印問(wèn)題,簡(jiǎn)直就是一舉多得。
    廢話少說(shuō),進(jìn)入正題。
    為了創(chuàng)建一個(gè)動(dòng)態(tài)的EXCEL報(bào)表,你首先要在一個(gè)ASP文件中寫:
    <%
    Response.ContentType = "application/vnd.ms-excel"
    %>
    (記住:這句話一定要寫在文章的開頭喲,不然的話,嘿嘿....)
這句話是告訴瀏覽器接下來(lái)的代碼是EXCEL格式的,然后瀏覽器會(huì)提示你SAVE OR OPEN 該文件,然后你就可以打開了或保存它了。
    看一個(gè)例子先:
<%
Response.ContentType = "application/vnd.ms-excel"
%>
<HTML>
<HEAD>
<link rel="stylesheet" href="STYLE.CSS">
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<table border="1" width="100%" bordercolorlight="#000080" bordercolordark="#0000FF" height="190">
  <tr>
    <td width="100%" colspan="12" height="30">
      <p align="center"><b>由ASP頁(yè)面轉(zhuǎn)換成EXCEL報(bào)表</b></td>
  </tr>
  <%for i=1 to 8%>
  <tr>
    <td width="8%" height="16" align="center"><%=1*i%></td>
    <td width="8%" height="16" align="center"><%=2*i%></td>
    <td width="8%" height="16" align="center"><%=3*i%></td>
    <td width="8%" height="16" align="center"><%=4*i%></td>
    <td width="8%" height="16" align="center"><%=5*i%></td>
    <td width="8%" height="16" align="center"><%=6*i%></td>
    <td width="8%" height="16" align="center"><%=7*i%></td>
    <td width="8%" height="16" align="center"><%=8*i%></td>
    <td width="9%" height="16" align="center"><%=9*i%></td>
    <td width="9%" height="16" align="center"><%=10*i%></td>
    <td width="9%" height="16" align="center"><%=11*i%></td>
    <td width="9%" height="16" align="center"><%=12*i%></td>
  </tr>
  <%next%>
  <tr>
   <td>=sum(a2:a9)</td>
    <td>=sum(b2:b9)</td>
    <td>=sum(c2:c9)</td>
    <td>=sum(d2:d9)</td>
    <td>=sum(e2:e9)</td>
    <td>=sum(f2:f9)</td>
    <td>=sum(g2:g9)</td>
    <td>=sum(h2:h9)</td>
    <td>=sum(i2:i9)</td>
    <td>=sum(j2:j9)</td>
    <td>=sum(k2:k9)</td>
    <td>=sum(l2:l9)</td>
    
  </tr>
</table>
<P align=center><input type=button value="test report" onclick="javascript:alert('hello , my friend,are you ready?')"></P>

</BODY>
</HTML>
把此代碼搞到你的機(jī)器上,看看效果如何,哈哈,你就偷著樂(lè)去吧
等等,還有個(gè)小問(wèn)題:
  Microsoft has acknowledged a BUG in IE (3.02, 4.0, 4.01, 4.01sp1) which causes it to misinterpret Excel output, particularly when generated by ASP, ISAPI, or CGI. You can read more about it at http://support.microsoft.com/support/kb/articles/q185/9/78.asp. To summarize: When Internet Explorer connects to a Web server resource that dynamically generates Word, Excel, or other Active Documents, Internet Explorer may send two GET requests for the resource. The second GET usually does not have session state information, temporary cookies, or authentication information that may have already been specified for the client. This bug can affect any local server (EXE) Active Document application hosted inside the Internet Explorer frame window. It occurs most frequently with ISAPI, ASP, or CGI applications that adjust the HTTP "Content Type" header to identify the installed application.

我呢,也碰到一個(gè)問(wèn)題:我把它放在我自己的機(jī)器上(WIN2000)的時(shí)候,它并不給我下載或打開,只有把它放在另一臺(tái)WEBSERVER上的時(shí)候才調(diào)試成功。
如果兄弟們有什么更好的招,別忘了告訴我呀。





相關(guān)文章