推薦:ASP快速開發方法之數據操作這是我自己的心得,給大家作個參考。我的目的是讓開發變得簡單,盡可能少地考慮實現語句,更多地把精力用于思考業務邏輯。希望我的文章對大家有所啟發和幫助。好吧,讓我們進入正題:先
學習如何建立ASP頁面將HTML數據流傳送到Execl電子表格,并且在IE中顯示Execl電子表格。
到目前為止,有好幾種方法可以使用ASP技術來創立Excel數據表格,你還可以利用服務器端Excel 8.0 VBA組件建立電子數據表。但是,某些情況下服務器可能無法處理所涉及到的信息量或無法承擔所形成的工作負載,因此你不得不犧牲某些為客戶機提供的處理性能。本文將主要討論有關客戶端的數據表格處理問題。Excel 97具有某些特別的性能可以象處理電子表格一樣處理HTML格式數據流,這一特別的處理能力僅在Excel 97或更高版本中才具有,而且用戶需要建立類似Excel電子表格數據流才能更有效的給以處理。
那么,瀏覽器是否也具有類似功能呢?Internet Explorer(IE)3.0或更高版本能夠像Excel一樣顯示Microsoft Excel 工作表格, 前提是客戶機需要裝栽 Excel。 如果用戶打開IE瀏覽器并輸入Excel工作表格文件名做為URL,IE就會打開工作表。IE利用文件的擴展名以辨別是否是mime格式文件并啟動相應的應用程序, 當IE處理Excel mime格式文件時,IE將該文件轉變為application/vnd.ms- excel并啟動Excel供用戶查看有關的表格數據。
本文將討論如何建立ASP主頁,該主頁能夠將HTML數據流傳送給Excel電子數據表。 利用這一技術IE瀏覽器可以像Excel那樣顯示HTML數據表。在下面的例子當中, ASP主頁將啟動一組件,該組件可以處理存儲在NWIND SQLSever 6.5中的雇員表記錄,同時將該表以HTML表格形式顯示。
建立HTML表格
首先建立ASP主頁,將該主頁添加到Visual InterDev項目中,文件名為ContentType.asp, 如同圖 A 。然后將代碼A所顯示的代碼添加到主頁中,第一行代碼可以將所涉及主頁的mime type轉變為Excel mime type。下面幾行代碼將啟動我們早先建立的組件以獲取ADOR記錄區的數據。 這些代碼如同ListingA中所顯示將在記錄區循環處理并建立一個HTML表格, 該表格包括雇員表中每行的記錄。
代碼 A:Code for adding new ASP page to Visual InterDev Project
<%@ Language=VBScript %>
<%Response.ContentType = "application/vnd.ms-excel"%>
<%
Dim objEmployee, rs
set objEmployee=server.CreateObject("EmpReport.Employee")
Set rs = objEmployee.GetEmployee()
'Draw a Table
%>
<TABLE>
<TR>
<TD><STRONG><FONT FACE="" size=4>Employee
Report</FONT></STRONG></TD>
</TR>
<TR>
<TD>Employee Id</TD>
<TD>First Name</TD>
<TD>Last Name</TD>
<TD>Title</TD>
</TR>
<%
Do while not rs.eof
%>
<TR>
<TD>
<%=rs("EmployeeId")%></TD>
<TD>
<%=rs("LastName")%></TD>
<TD>
<%=rs("FirstName")%></TD>
<TD>
<%=rs("Title")%></TD>
</TR>
<%
rs.movenext
loop
%></TABLE>
完成輸入代碼后, 保存并瀏覽該主頁。該主頁如同圖 B 。注意該電子表格中的所有行并未實行任何格式化處理。當我們使用Excel VBA組件創立工作表格時,我們可以利用VBA方式對表格加以調整。 但是,在使用HTML方式下對表格加以通常的格式化處理是比較困難的,除非你能方便地顯示和讀取HTML表格的有關數據。利用ASP主頁技術我們能夠做到這一點,而且可以實現目前Microsoft Excel所支持的所有功能, 其中包括SUM功能。需要注意的是,利用HTML創立的工作表格中沒有包括一些標準的標示符號,例如<HTML> 及<BODY>。當我們建立與Excel工作表格互換數據的HTML表格時,盡量不要在ASP主頁中使用<HTML>,<BODY>,<HEAD>等標示符號,因為Excel工作表格通常無法正確這些標示符號。
在HTML表格中使用標準的Excel功能
Excel 97允許用戶利用Excel所具有的運算公式在HTML表格中實行標準的計算處理,例如使用total及sum等運算功能。利用這一特點的顯著優勢是,將需要實行計算處理的工作表格移到客戶端處理從而極大的減少了對寶貴的服務器資源的占用,同時也減少了在服務器與客戶機之間實行信息傳遞的網絡負擔。例如圖 C 所示起名為sumit.asp的主頁的情況, 建立的HTML表格顯示了Excel工作表格中兩列的總和。 請注意代碼B中的代碼, 第一行代碼將表中的內容格式轉變為Excel格式, 如此瀏覽器將得知是哪種類型的應用程序在為HTML表格傳遞數據。我們建立了一個具有兩列的表格,第二列行中包括了兩組數值:2和3。第三行中的數值為前兩個數值的總和,這里使用的是Excel的=sum(b1:b2)計算功能。
代碼 B: Code for creating an HTML table that displays sum of two columns in Excel worksheet
<%@ Language=VBScript %>
<%Response.ContentType = "application/vnd.ms-excel"%>
<TABLE>
<TR>
<TD></TD>
<TD><!-- Cell : B1 -->2</TD>
</TR>
<TR>
<TD></TD>
<TD><!--Cell : B2 -->3</TD>
</TR>
<TR>
<TD><STRONG>Sum</STRONG></TD>
<TD>=SUM(B1:B2)</TD>
</TR>
</TABLE>
結論有好幾種不同的方式可以利用瀏覽器應用程序顯示Excel工作表格。 具體使用哪一種方式要依照不同情況而定:你所要實行的數據處理是在客戶機上還是在服務器中? 在程序運行過程當中是否需要多種的格式化處理? 最終用戶所使用的是否是IE瀏覽器?如果你的工作表格比較復雜而且十分重要,你最好是考慮建立一Excel模板,然后利用服務器端VBA COM將數值填入。 如果你的工作表格比較簡單或者只是在客戶機端運行處理,你可以考慮使用HTML數據流處理。另一方面,如果你的用戶使用的是Netscape Navigator瀏覽器,那么你的所有的數據處理必須在服務器端運行并使用COM VBA組件。
分享:ASP實例:即時顯示當前頁面瀏覽人數ASP實現即時顯示當前頁面瀏覽人數 online.asp文件 以下為引用的內容:<!--#include file="dbconn.asp" --><%onlineTimeout=10
新聞熱點
疑難解答