也談ASP中的RESPONSE屬性

來源:互聯網
上載者:User
在隨意去逛的時候,看到《ASP中巧用Response屬性》這篇文章,想起以前看到的一篇國外相關的文章,不敢獨佔,拿出來和大家分享。
    調試是通過了,但有些用英文原話,還請大家多多包涵。
    這裡講的是用ASP頁面如何轉換成EXCEL表格的形式,大家一點還記得以前有大蝦說過用DLL的形式來解決,但這樣對於大資料量來說,實在是慢。如果用文中介紹的方法,將不佔用伺服器的資源,只是在用戶端開啟。還有個好處是:在網頁中的表格顯示成什麼樣子,在EXCEL中的表格就是什麼樣子。好吧,再告訴一個令人激動的訊息,除了表格式資料,在EXCEL中,象按鈕等都一概不顯示。這樣又解決了大家的網頁列印問題,簡直就是一舉多得。
    廢話少說,進入正題。
    為了建立一個動態EXCEL報表,你首先要在一個ASP檔案中寫:
    <%
    Response.ContentType = "application/vnd.ms-excel"
    %>
    (記住:這句話一定要寫在文章的開頭喲,不然的話,嘿嘿....)
這句話是告訴瀏覽器接下來的代碼是EXCEL格式的,然後瀏覽器會提示你SAVE OR OPEN 該檔案,然後你就可以開啟了或儲存它了。
    看一個例子先:
<%
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頁面轉換成EXCEL報表</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" ></P>

</BODY>
</HTML>
把此代碼搞到你的機器上,看看效果如何,哈哈,你就偷著樂去吧
等等,還有個小問題:
  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.

我呢,也碰到一個問題:我把它放在我自己的機器上(WIN2000)的時候,它並不給我下載或開啟,只有把它放在另一台WEBSERVER上的時候才調試成功。
如果兄弟們有什麼更好的招,別忘了告訴我呀。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.