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

asp完成在web中顯示電子表格數(shù)據(jù)(3)創(chuàng)建電子數(shù)據(jù)表下文與

[摘要]除了“讀取Excel數(shù)據(jù)形成HTML表格”的技術(shù)外,你可能有興趣想了解怎樣用程序?qū)崿F(xiàn)電子數(shù)據(jù)表和名字范圍的下拉菜單列表。 除了單元格的內(nèi)容,用ADO還能知道更多的信息---在上面,已經(jīng)討論了用它得到字段名的列表。 調(diào)用OpenSchema方法,可以得到當(dāng)前打開數(shù)據(jù)庫(同樣適用于電子數(shù)據(jù)簿)的特殊...

除了“讀取Excel數(shù)據(jù)形成HTML表格”的技術(shù)外,你可能有興趣想了解怎樣用程序?qū)崿F(xiàn)電子數(shù)據(jù)表和名字范圍的下拉菜單列表。

除了單元格的內(nèi)容,用ADO還能知道更多的信息---在上面,已經(jīng)討論了用它得到字段名的列表。

調(diào)用OpenSchema方法,可以得到當(dāng)前打開數(shù)據(jù)庫(同樣適用于電子數(shù)據(jù)簿)的特殊記錄集,在這里討論的例程中,是取回了當(dāng)前電子數(shù)據(jù)簿的電子數(shù)據(jù)表和名字范圍。在數(shù)據(jù)庫的操作中,通過傳遞給ADO一個(gè)adSchemaTablesas命令參數(shù),就可以得到所有表的信息。

Set oSchemaRs = oConn.OpenSchema(adSchemaTables)

上述調(diào)用將返回一個(gè)記錄集信息,對于文件TheWorkbook.xls,結(jié)果是:

TABLE_NAME TABLE_TYPE
Employees$ SYSTEM TABLE
ListOfProducts$ SYSTEM TABLE
Suppliers$ SYSTEM TABLE
A_Duplicate_Name TABLE
Alphabetical_List_of_Products TABLE
Employees TABLE
ListOfProducts$A_Duplicate_Name TABLE
Product_Totals TABLE


和記錄集相比較,電子數(shù)據(jù)工作簿中的電子數(shù)據(jù)表(worksheets)被當(dāng)作系統(tǒng)表,名字范圍被當(dāng)作通常表。通常情況下,無名范圍(可以使用。┎槐挥涗浖瘓(bào)告。

掌握了這些信息,創(chuàng)建字段下拉菜單就成了分離兩個(gè)表類型和使用合適的標(biāo)記的工作了。比如,可以執(zhí)行下面的HTML/ASP代碼段來創(chuàng)建工作表列表的下拉菜單:

< select name="XlSheet" >
< %
vOptions = "< option >< /option >"
Do While Not oSchemaRs.EOF
If oSchemaRs("TABLE_TYPE") = "SYSTEM TABLE" Then
vOptions = vOptions & "< option >" & _
Server.HtmlEncode(oSchemaRs("TABLE_NAME")) & _
"< /option >
End If
oSchemaRs.MoveNext
Loop
Response.Write vOptions
% >
< /select >
實(shí)際的ReadX1.asp代碼中可能還復(fù)雜一些,因?yàn)橐幚砩弦粋(gè)選項(xiàng)的顯示,同時(shí)要使用客戶端的JavaScript腳本檢查輸入的合法性。
(出處:熱點(diǎn)網(wǎng)絡(luò))