asp.net 操作excel的實現代碼

來源:互聯網
上載者:User

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檔案內容了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.