亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? asp實現(xiàn)在web中顯示電子表格數(shù)據(jù).txt

?? 用純ASP代碼實現(xiàn)圖片上傳并存入數(shù)據(jù)庫中
?? TXT
字號:
asp實現(xiàn)在web中顯示電子表格數(shù)據(jù)(一)顯示數(shù)據(jù)表格的應用    


--------------------------------------------------------------------------------

 【天啦】 于 2000-07-19 08:57:23 加貼在 Joy ASP ↑:




   在用ASP語言開發(fā)的Web數(shù)據(jù)庫應用程序中,ADO (ActiveX Data Objects) 已經(jīng)成為非常流行的工具,而且對于真正的關(guān)系型數(shù)據(jù)庫,比如Oracle、SQL Server,它都不會有局限性。ADO能夠存取多種不同的數(shù)據(jù)格式,MS Excel電子數(shù)據(jù)表格就是其中之一。

   關(guān)于這個應用 

   可供下載的例程代碼中包括一個ASP文件ReadX1.asp,一個Excel文件TheWorkbook.xls。你也可以另外加入一些電子數(shù)據(jù)表文件。

   執(zhí)行ReadXl.asp頁面,將顯示出可用的電子數(shù)據(jù)表文件列表。選擇好一個文件,并提交表單后,你將會看到:

一個下拉菜單,其中是工作表名稱 
一個下拉菜單,其中是命名的范圍 
一個單元格范圍輸入框 
第一個工作表的全部內(nèi)容 
   

   可以選擇工作簿文件中的另外一個工作表,或者輸入符合Excel格式的單元格范圍數(shù)值,比如:D20:E21 或者 Sheet3!F12:J22。注意:在ADO和ODBC驅(qū)動程序中,要用$符合替換分界符號!。

   實現(xiàn)步驟

   現(xiàn)在對這個應用程序已經(jīng)有了初步的認識,下面開始討論ASP代碼,看看如何讀取電子數(shù)據(jù)表的數(shù)據(jù),如何找到電子數(shù)據(jù)簿
(workbook)文件中可用的電子數(shù)據(jù)表(worksheet)和范圍,并看看實現(xiàn)文件列表選擇的技術(shù)。這里假設你已經(jīng)熟悉了編寫HTML表單的技術(shù),所以對此不做詳細介紹。

   基本條件

   下面將涉及到ADO對象、方法、屬性、收集和常量。在服務器上安裝IIS后,ADO就存在了,并且還有相關(guān)文檔,地址是http://YourServer/IisHelp/ado210.chm (版本2.1),或者http://YourServer/IisHelp/ado/docs/(老版本1.5)。如果需要升級ADO,可以從http://www.microsoft.com/Data/download.htm下載最新版本的MDAC工具包進行安裝。

   實現(xiàn)“文件列表選擇”使用到了內(nèi)建的VBScript腳本對象,相關(guān)文檔可以查看http://YourServer/IisHelp/vbscript/htm/vbstoc.htm,如果想查看最新的文檔,請訪問http://msdn.microsoft.com/scripting
(版本5)。當然,在服務器端和客戶端,你都不需要安裝MS Excel。

   讀取電子數(shù)據(jù)表(Worksheet)數(shù)據(jù)

   通過ADO讀取電子數(shù)據(jù)表與讀取數(shù)據(jù)庫表的方法基本是一樣的。從下圖可以看到,電子數(shù)據(jù)表的行被稱作記錄Records,列被稱作字段Fields。電子數(shù)據(jù)表或者單元格的范圍可以被看成表Tables,并按照記錄集recordsets進行存取。

Spreadsheet Database HTML 
  < table >
< tr >
< th >NameA< /th >
< th >NameB< /th >
< th >NameC< /th >
< /tr >< tr >
< td >1< /td >
< td >2< /td >
< td >3< /td >
< /tr >< tr >
< td >11< /td >
< td >12< /td >
< td >13< /td >
< /tr >
< /table > 

   執(zhí)行下面的步驟,從數(shù)據(jù)庫表中讀取數(shù)據(jù)并顯示:

連接數(shù)據(jù)庫(同樣:打開數(shù)據(jù)簿文件) 
讀取記錄集recordset(同樣:讀取一定范圍的單元格) 
循環(huán)每一個記錄(同樣:每一行),經(jīng)過格式化,顯示 
   建立ADO連接

   在連接數(shù)據(jù)庫或者打開文件前,需要了解一些信息。其中只要是設置名叫DSN的ODBC驅(qū)動,但為每一個數(shù)據(jù)表都建立這樣的ODBC驅(qū)動,是非常麻煩的,因為這需要在服務器的控制臺上通過“控制面板/ODBC設置”手工完成。

   幸好,ASP提供了替代DSN的其他方法,它可以非常容易地在運行時建立連接。比如,字符串“DRIVER={Microsoft Excel Driver?*.xls)};ReadOnly=1;DBQ=C:dirfile.xls",表示了替代DSN打開文件c:dirfile.xls,因此通過這種方法僅僅需要提供給ASP程序一個文件名即可。執(zhí)行下面的代碼,將從表單中讀取文件名,然后轉(zhuǎn)換為全路徑,接著生成連接字符串,最后建立并打開這個連接。

vXlFile = Request("XlBook")
vXlFilePath = Server.MapPath(vXlFile) ' assumes file in current directory
vConnString = "DRIVER={Microsoft Excel Driver (*.xls)};ReadOnly=1;DBQ=" & _
              vXlFilePath
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open vConnString
   如果想查看更多的非DSN連接信息,請打開Windows或者NT System目錄下的幫助文件Odbcjet.hlp。

   讀取記錄集

   連接上電子數(shù)據(jù)簿文件后,讀取一定范圍的單元格數(shù)據(jù)就很簡單了。盡管不是必須的,但還是建議:用符合“[” 和 “]”包含住單元格的范圍定義。只所以這么做,是以防在數(shù)據(jù)庫的操作中產(chǎn)生非法的符合。

vXlRange = Request("XlRange")
Set oRs = oConn.Execute("[" & vXlRange & "]")

   執(zhí)行上面的語句,將返回記錄集對象,其中包括范圍內(nèi)單元格的所有可用信息, 記錄集的數(shù)值和描述數(shù)據(jù)的元數(shù)據(jù)。






asp實現(xiàn)在web中顯示電子表格數(shù)據(jù)(二)生成HTML表格(轉(zhuǎn))    


--------------------------------------------------------------------------------

 【天啦】 于 2000-07-19 08:59:08 加貼在 Joy ASP ↑:

過程的最后一步是格式化數(shù)據(jù)并顯示,就是建立一個HTML輸出,步驟如下:

依次循環(huán)記錄集(Recordset)中每一個字段(Field),寫標題 
依次循環(huán)記錄集和每一個字段,寫數(shù)值 
   例程代碼將整個的HTML表格組合為一個長字符串,最后輸出到HTML頁面。字符串初始化為如下值:

DataTable = "< table >< tr >"

   電子數(shù)據(jù)表的列的必要信息由記錄集對象的Field集合產(chǎn)生,它包括了一系列字段對象,可以使用它們的Name屬性建立標題行。

For Each oField in oRs.Fields
    DataTable = DataTable & "< th >" & oField.Name & "< /th >"
Next
DataTable = DataTable & "< /tr >"

   最新打開的記錄集(recordset)自動將初始位置指向第一行,使用MoveNext方法移動記錄指針,順序存取每一行,直到整個記錄集的末尾。當?shù)接涗浖┪矔r,屬性Eof的值變成True,循環(huán)結(jié)束。在循環(huán)中,通過字段集合的列舉以及對應的Value屬性,從而達到單元格數(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é)束標記,輸出整個字符串到頁面,形成了動態(tài)產(chǎn)生的表格。由于記錄集對象不再需要,所以要釋放它。

DataTable = DataTable & "< /table >"
Set oRs = Nothing

Response.Write DataTable

   在總結(jié)前,有必要說明一個小的定義在電子數(shù)據(jù)表是如何解釋的。

   通常,在ADO中將一定范圍內(nèi)的第一行解釋為一套列標題,盡管在ODBC中有明文定義的選項可以禁止這種解釋,但我也不愿意在ADO中這么做。如果第一行包含數(shù)字信息,那么ADO中將返回通用的字段名,比如:F1,F2,等等...,這樣就不能看到數(shù)字的值。而且,ADO也會將第一行中的“非字母、非數(shù)字”字符替換為符號#。





--------------------------------------------------------------------------------



asp實現(xiàn)在web中顯示電子表格數(shù)據(jù)(三)創(chuàng)建電子數(shù)據(jù)表列表和名字范圍(轉(zhuǎn))    


--------------------------------------------------------------------------------

 【天啦】 于 2000-07-19 09:00:06 加貼在 Joy ASP ↑:




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

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

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

   Set oSchemaRs = oConn.OpenSchema(adSchemaTables) 

   上述調(diào)用將返回一個記錄集信息,對于文件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)被當作系統(tǒng)表,名字范圍被當作通常表。通常情況下,無名范圍(可以使用!)不被記錄集報告。

   掌握了這些信息,創(chuàng)建字段下拉菜單就成了分離兩個表類型和使用合適的標記的工作了。比如,可以執(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 >
   實際的ReadX1.asp代碼中可能還復雜一些,因為要處理上一個選項的顯示,同時要使用客戶端的JavaScript腳本檢查輸入的合法性。



asp實現(xiàn)在web中顯示電子表格數(shù)據(jù)(三)創(chuàng)建文件選擇列表(轉(zhuǎn))    


--------------------------------------------------------------------------------

 【天啦】 于 2000-07-19 09:00:59 加貼在 Joy ASP ↑:

最后介紹創(chuàng)建文件選擇列表的代碼,在這里使用內(nèi)建的FileSystem對象獲得文件和文件夾的信息。

   為簡單起見,例程假設電子數(shù)據(jù)表文件和ASP文件位于同一個目錄下。通過vServerFolder= Server.MapPath(".") 獲取當前目錄名稱,并將之轉(zhuǎn)換到folder對象,從而找出目錄中的文件。 FileSystem對象的.GetFolder方法使用如下:

Set oFs = Server.CreateObject("Scripting.FileSystemObject")
Set oFolder = oFs.GetFolder(vServerFolder)
   通過Folder對象的.Files集合的列舉,可以獲取文件夾下的文件,并且限制顯示的文件類型為Excel。執(zhí)行下面的HTML/ASP代碼創(chuàng)建文件選擇列表:

< select name="XlBook" >
< %
vOptions = ""
For Each oFile In oFolder.Files
    If oFile.Type = "Microsoft Excel Worksheet" Then
vOptions = vOptions & "< option >" & _
            Server.HtmlEncode(oFile.Name) & "< /option >    
    End If
Next    
Response.Write vOptions
% >
< /select >

   同樣的,實際的ReadX1.asp代碼要復雜些,因為有一些JavaScript腳本要取回上一次的選擇。

   總結(jié)

   上面介紹了如何通過ADO讀取Excel工作簿的方法,以及內(nèi)建對象FileSystem的使用技巧。除了廣泛地應用于數(shù)據(jù)庫領(lǐng)域,ADO能處理許多不同格式的數(shù)據(jù),其方式就象處理數(shù)據(jù)庫一樣。這里只是接觸到ADO的一點基本功能,還有更多更強大的方面有待開發(fā)。



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品影视网| 国产精品久久久久久久蜜臀 | 亚洲美女视频在线| 国产色综合一区| 久久精品一级爱片| 久久久久国产精品麻豆| 337p粉嫩大胆噜噜噜噜噜91av | 国产毛片精品视频| 精品在线播放免费| 国产精品888| 成人国产免费视频| 91网站最新网址| 欧美在线视频日韩| 欧美精品三级日韩久久| 欧美变态tickling挠脚心| 精品久久久久久无| 日韩一区二区在线观看视频| 欧美日韩另类国产亚洲欧美一级| 91久久精品一区二区三| 欧美放荡的少妇| 国产精品日产欧美久久久久| 亚洲成人黄色影院| 国内精品不卡在线| 国产成人精品免费视频网站| 亚洲国产美女搞黄色| 日韩中文字幕不卡| 国产一区二区三区美女| av在线不卡电影| 欧美日韩国产美| ww久久中文字幕| 欧美国产综合一区二区| 一区二区三区不卡在线观看 | 在线免费观看视频一区| 欧美挠脚心视频网站| 26uuuu精品一区二区| 最新国产の精品合集bt伙计| 视频在线在亚洲| 波多野结衣视频一区| 4hu四虎永久在线影院成人| 中文字幕不卡在线观看| 五月婷婷久久综合| 不卡一区中文字幕| 日韩午夜精品视频| 久久精品国产精品青草| 欧美在线不卡视频| 欧美精品久久天天躁| 午夜精品久久久久久不卡8050| 蜜臀av一区二区| av一区二区三区四区| 欧美一区二区精美| 一区二区三区日本| 国产不卡视频在线播放| 欧美一区二区成人| 亚洲午夜久久久久久久久久久| 国产一区二区三区免费播放| 欧美三级韩国三级日本一级| 国产精品视频一二三区| 韩国在线一区二区| 欧美人与z0zoxxxx视频| 一区二区免费在线播放| 99视频精品在线| 国产欧美1区2区3区| 精品无人区卡一卡二卡三乱码免费卡| 色狠狠色噜噜噜综合网| 成人免费在线视频观看| 韩国av一区二区| 欧美视频在线不卡| 一区二区三区在线视频播放| 日韩一区二区在线观看视频播放| 成人免费一区二区三区视频 | 久久成人综合网| 777奇米四色成人影色区| 午夜视频一区二区三区| 欧美日韩一区在线观看| 亚洲激情图片一区| 色菇凉天天综合网| 亚洲精品视频在线看| 91浏览器在线视频| 一区二区三区高清不卡| 色噜噜夜夜夜综合网| 亚洲乱码国产乱码精品精小说| 99久久99精品久久久久久| 亚洲丝袜另类动漫二区| 97久久精品人人爽人人爽蜜臀| 亚洲欧美在线视频| 欧美在线综合视频| 日韩av一区二区在线影视| 日韩免费高清av| 国产999精品久久| 日韩理论片在线| 欧美乱妇15p| 久久av资源站| 国产精品国产三级国产有无不卡| 97久久超碰精品国产| 天天色图综合网| 精品国产免费人成电影在线观看四季| 国产精品自产自拍| 亚洲欧美另类小说| 欧美福利一区二区| 国产精品1024| 亚洲免费观看高清完整| 91精品国产色综合久久不卡电影 | 亚洲人123区| 波波电影院一区二区三区| 亚洲视频香蕉人妖| 欧美日韩成人一区| 国产麻豆午夜三级精品| 国产精品国产三级国产专播品爱网| 91国偷自产一区二区三区观看| 天堂在线一区二区| 国产日韩成人精品| 欧美日韩欧美一区二区| 韩国女主播成人在线观看| 亚洲欧美一区二区不卡| 久久精品夜色噜噜亚洲a∨| 色婷婷av一区二区三区gif| 日韩av一二三| 亚洲美腿欧美偷拍| 久久蜜桃av一区二区天堂| 国产美女主播视频一区| 一区二区视频免费在线观看| 精品少妇一区二区| 在线亚洲人成电影网站色www| 国内精品伊人久久久久av影院| 亚洲精品国产成人久久av盗摄| 欧美成人三级在线| 欧美亚洲一区二区三区四区| 成人做爰69片免费看网站| 蜜桃一区二区三区在线观看| 樱花草国产18久久久久| 欧美国产精品一区二区| 日韩美女一区二区三区| 欧美日韩一区中文字幕| av在线综合网| 成人av网在线| 国产精品一区在线| 激情久久五月天| 日本欧美一区二区| 午夜a成v人精品| 一区二区三区精密机械公司| ●精品国产综合乱码久久久久 | 精品99999| 欧美一级欧美一级在线播放| 欧美日韩国产bt| 欧美日韩精品欧美日韩精品| 在线观看免费成人| 99精品久久99久久久久| a美女胸又www黄视频久久| 成人av在线看| 成人高清免费观看| 成人黄色av电影| 不卡欧美aaaaa| 97精品国产露脸对白| 日韩精品一区在线观看| 国产日韩av一区| 精品日韩一区二区三区免费视频| 欧美日韩亚洲另类| 欧美男女性生活在线直播观看| 色狠狠一区二区三区香蕉| 在线观看国产精品网站| 欧美中文字幕一区二区三区| 欧美写真视频网站| 欧美一区二区高清| 2023国产一二三区日本精品2022| 精品久久一区二区| 久久精品在线免费观看| 国产精品你懂的在线| 亚洲欧美日韩在线播放| 天天综合色天天综合色h| 另类小说色综合网站| 国产.精品.日韩.另类.中文.在线.播放 | 91在线视频官网| 欧美三级日韩三级国产三级| 69堂成人精品免费视频| 久久色.com| 综合网在线视频| 日韩国产在线观看| 国产精品亚洲一区二区三区妖精| 不卡的av中国片| 欧美剧情电影在线观看完整版免费励志电影 | 国产成人免费网站| 99久久精品国产毛片| 欧美少妇bbb| 久久夜色精品国产噜噜av| 亚洲色欲色欲www| 免费一级片91| 欧美一卡二卡在线观看| 91麻豆精品国产91久久久| 欧美一区二区成人6969| 国产欧美精品一区aⅴ影院 | 欧美午夜精品久久久久久超碰| 在线成人小视频| 中文字幕不卡一区| 秋霞午夜av一区二区三区| 盗摄精品av一区二区三区| 欧美日韩精品三区| 综合网在线视频| 国内国产精品久久| 欧美精品成人一区二区三区四区| 国产亚洲欧美色|