asp完成在web中顯示電子表格數(shù)據(jù)(二)生成HTML表格
發(fā)表時(shí)間:2024-06-13 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]過(guò)程的最后一步是格式化數(shù)據(jù)并顯示,就是建立一個(gè)HTML輸出,步驟如下:依次循環(huán)記錄集(Recordset)中每一個(gè)字段(Field),寫(xiě)標(biāo)題 依次循環(huán)記錄集和每一個(gè)字段,寫(xiě)數(shù)值 例程代碼將整個(gè)的HTML表格組合為一個(gè)長(zhǎng)字符串,最后輸出到HTML頁(yè)面。字符串初始化為如下值:DataTable ...
過(guò)程的最后一步是格式化數(shù)據(jù)并顯示,就是建立一個(gè)HTML輸出,步驟如下:
依次循環(huán)記錄集(Recordset)中每一個(gè)字段(Field),寫(xiě)標(biāo)題
依次循環(huán)記錄集和每一個(gè)字段,寫(xiě)數(shù)值
例程代碼將整個(gè)的HTML表格組合為一個(gè)長(zhǎng)字符串,最后輸出到HTML頁(yè)面。字符串初始化為如下值:
DataTable = "< table >< tr >"
電子數(shù)據(jù)表的列的必要信息由記錄集對(duì)象的Field集合產(chǎn)生,它包括了一系列字段對(duì)象,可以使用它們的Name屬性建立標(biāo)題行。
For Each oField in oRs.Fields
DataTable = DataTable & "< th >" & oField.Name & "< /th >"
Next
DataTable = DataTable & "< /tr >"
最新打開(kāi)的記錄集(recordset)自動(dòng)將初始位置指向第一行,使用MoveNext方法移動(dòng)記錄指針,順序存取每一行,直到整個(gè)記錄集的末尾。當(dāng)?shù)接涗浖┪矔r(shí),屬性Eof的值變成True,循環(huán)結(jié)束。在循環(huán)中,通過(guò)字段集合的列舉以及對(duì)應(yīng)的Value屬性,從而達(dá)到單元格數(shù)據(jù)的存取。
Do While Not oRs.EOF
DataTable = DataTable & "< tr >"
For Each oField in oRs.Fields
DataTable = DataTable & "< td >" & oField.Value & "< /td >"
Next
DataTable = DataTable & "< /tr >"
oRs.MoveNext
Loop
最后,加上HTML的表格結(jié)束標(biāo)記,輸出整個(gè)字符串到頁(yè)面,形成了動(dòng)態(tài)產(chǎn)生的表格。由于記錄集對(duì)象不再需要,所以要釋放它。
DataTable = DataTable & "< /table >"
Set oRs = Nothing
Response.Write DataTable
在總結(jié)前,有必要說(shuō)明一個(gè)小的定義在電子數(shù)據(jù)表是如何解釋的。
通常,在ADO中將一定范圍內(nèi)的第一行解釋為一套列標(biāo)題,盡管在ODBC中有明文定義的選項(xiàng)可以禁止這種解釋?zhuān)乙膊辉敢庠贏DO中這么做。如果第一行包含數(shù)字信息,那么ADO中將返回通用的字段名,比如:F1,F2,等等...,這樣就不能看到數(shù)字的值。而且,ADO也會(huì)將第一行中的“非字母、非數(shù)字”字符替換為符號(hào)#。