程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net 操作excel的實現代碼

asp.net 操作excel的實現代碼

編輯:ASP.NET基礎

Excel是Microsoft公司的Office套件中的一種軟件,他主要用來處理電子表格。Excel以界面友好、處理數據迅速等優點獲得廣大辦公人員的歡迎。所以很多文檔就以Excel的形式保存了下來。對於程序設計人員,在程序設計中,我們往往要訪問Excel文件來獲得數據。但由於Excel文件不是標准數據庫,所以用程序語言來訪問他就比較困難。 

  ASP.NET是Microsoft公司極力推薦的一個產品,作為.NET FrameWork框架中的一個重要組成部分,他主要用於Web設計。全新的設計理念、強大功能使得ASP.NET正在受到越來越多的程序設計人員的歡迎。也正是ASP.NET的強大的功能才使得訪問Excel文檔成為了一件相對簡單的事情。下面就通過一個例子來具體說明ASP.NET是如何訪問的Excel文檔的。 

  一. 程序設計及運行環境 

  (1).Windows 2000 Professional 

  (2)..Net Framework SDK Beta 2 

  (3).Microsoft Access Data Component 2.6(MADC2.6) 

  二. 具體的設計思路 

  (1).獲得要訪問的Excel文件名稱 

  (2).讀出Excel文件的內容 

  (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對象是對對象進行不同操作後的返回數據集。 

  為了讀取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的內容  
   ,把Sheet1$改成Sheet2$即可  
Dim myData As OledbDataAdapter= New   
   OledbDataAdapter(myOleDbCommand)   


  (3).讀出Excel文件內容後,就要把他用DataGrid顯示出來。為了顯示,還要用另外一個名稱空間--System.Data。他裡面有個對象DataSet,他可以和DataGrid進行數據幫定,從而以DataGrid形式顯示數據。而此時讀出的數據集並不是以對象DataSet來表現的,這就需要進行轉換,好在OledbDataAdapter對象提供了一個方法--Fill,可以完成轉換。具體程序如下: 

Dim myDataset As New DataSet() 
myData.Fill(myDataset)  
'完成從OledbDataAdapter對象到DataSet的轉換 
DataGrid1.DataSource = myDataset.Tables(0).DefaultView 
DataGrid1.DataBind() '完成數據幫定,顯示數據  

  四. 具體的源代碼: 

<%@ 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:.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>  

  五. 總結 

  至此一個讀取Excel文件的ASP.NET程序就全部完成了,如果你的機器達到以上提到的運行環境,那就建立一個指向此ASP.NET程序的Web虛擬目錄,隨便拷貝一個Excel文件到C盤的根目錄,在浏覽器運行一下程序,你就可以看到Excel文件內容了。 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved