国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

利用ASP.NET程序來訪問Excel文檔

2024-07-10 12:55:03
字體:
供稿:網(wǎng)友

商業(yè)源碼熱門下載www.html.org.cn

    excel是microsoft公司的office套件中的一種軟件,他主要用來處理電子表格。excel以界面友好、處理數(shù)據(jù)迅速等優(yōu)點獲得廣大辦公人員的歡迎。所以很多文檔就以excel的形式保存了下來。對于程序設計人員,在程序設計中,我們往往要訪問excel文件來獲得數(shù)據(jù)。但由于excel文件不是標準數(shù)據(jù)庫,所以用程序語言來訪問他就比較困難。
  
    asp.net是microsoft公司極力推薦的一個產(chǎn)品,作為.net framework框架中的一個重要組成部分,他主要用于web設計。全新的設計理念、強大功能使得asp.net正在受到越來越多的程序設計人員的歡迎。也正是asp.net的強大的功能才使得訪問excel文檔成為了一件相對簡單的事情。下面就通過一個例子來具體說明asp.net是如何訪問的excel文檔的。
  
    一. 程序設計及運行環(huán)境
  
    (1).windows 2000 professional
  
    (2)..net framework sdk beta 2
  
    (3).microsoft access data component 2.6(madc2.6)
  
    二. 具體的設計思路
  
    (1).獲得要訪問的excel文件名稱
  
    (2).讀出excel文件的內(nèi)容
  
    (3).用datagrid格式顯示出來
  
    下面就一些關鍵的步驟來具體說明。
  
    三. 程序設計的關鍵步驟
  
    (1).為了方便,我們就把excel文件假定在c盤的根目錄,名稱為test.xls。
  
    (2).為了讀取excel文件,我們必須了解一個名稱空間(namespace)--system.data.oledb。system.data.oledb中有三個對象分別是oledbconnection,oledbcommand,oledbdataadapter。我們就是通過他們來訪問excel文件的。
  
    i> oledbconnection對象主要是提供連接方式。
  
    ii> oledbcommand對象提供對目標的具體操作方法。
  
    iii>oledbdataadapter對象是對對象進行不同操作后的返回數(shù)據(jù)集。
  
    為了讀取c盤的test.xls只要以下語句就可以完成:
  
  dim myoledbconnection as oledbconnection = new
     oledbconnection("provider=microsoft.jet.oledb.4.0;" & _
     "data source=c:/test.xls;" & _
     "extended properties=""excel 8.0;""")
  dim myoledbcommand as oledbcommand = new oledbcommand("select *
     from [sheet1$]",myoledbconnection) '如果你想讀出sheet2的內(nèi)容
     ,把sheet1$改成sheet2$即可
  dim mydata as oledbdataadapter= new
     oledbdataadapter(myoledbcommand)
  
    (3).讀出excel文件內(nèi)容后,就要把他用datagrid顯示出來。為了顯示,還要用另外一個名稱空間--system.data。他里面有個對象dataset,他可以和datagrid進行數(shù)據(jù)幫定,從而以datagrid形式顯示數(shù)據(jù)。而此時讀出的數(shù)據(jù)集并不是以對象dataset來表現(xiàn)的,這就需要進行轉(zhuǎn)換,好在oledbdataadapter對象提供了一個方法--fill,可以完成轉(zhuǎn)換。具體程序如下:
  
  dim mydataset as new dataset()
  mydata.fill(mydataset)
  '完成從oledbdataadapter對象到dataset的轉(zhuǎn)換
  datagrid1.datasource = mydataset.tables(0).defaultview
  datagrid1.databind() '完成數(shù)據(jù)幫定,顯示數(shù)據(jù)
  
    四. 具體的源代碼:
  
  <%@ page language="vb" %>
  <%@ import namespace="system.data" %>
  <%@ import namespace="system.data.oledb" %>
  <script language="vb" runat="server">
  sub page_load(sender as object, e as eventargs)
  dim mydataset as new dataset()
  dim myoledbconnection as oledbconnection = new oledbconnection("provider=microsoft.jet.oledb.4.0;" & _
  "data source=c:/2.xls;" & _
  "extended properties=""excel 8.0;""")
  dim myoledbcommand as oledbcommand = new oledbcommand("select * from [sheet1$]",myoledbconnection)
  dim mydata as oledbdataadapter= new oledbdataadapter(myoledbcommand)
  
  mydata.fill(mydataset)
  
  datagrid1.datasource = mydataset.tables(0).defaultview
  datagrid1.databind()
  end sub
  </script>
  
  <html>
  <head></head>
  <body>
  <asp:label id="l1" runat="server">讀取c盤根目錄下的test.xls文件,并以datagrid的形式顯示出來</asp:label>
  <asp:datagrid id=datagrid1 runat="server"/>
  </body>
  </html>
  
    五. 總結(jié)
  
    至此一個讀取excel文件的asp.net程序就全部完成了,如果你的機器達到以上提到的運行環(huán)境,那就建立一個指向此asp.net程序的web虛擬目錄,隨便拷貝一個excel文件到c盤的根目錄,在瀏覽器運行一下程序,你就可以看到excel文件內(nèi)容了。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 休宁县| 黄冈市| 丰宁| 永春县| 中卫市| 鹿泉市| 巴林左旗| 邢台市| 阳原县| 奉贤区| 枞阳县| 怀化市| 荆门市| 调兵山市| 长武县| 普格县| 宣威市| 绍兴市| 汤阴县| 星子县| 麟游县| 天门市| 通河县| 手机| 永修县| 婺源县| 酉阳| 长沙县| 岚皋县| 克什克腾旗| 临安市| 嘉定区| 饶阳县| 都江堰市| 汕尾市| 辰溪县| 沙雅县| 历史| 囊谦县| 永德县| 蒙山县|