本示範中,我們實現這個Repeater控制項資料匯出Excel的功能。
我們準備一個對象:
複製代碼 代碼如下:Imports Microsoft.VisualBasic
Namespace Insus.NET
Public Class Catalog
Private _ID As Integer
Private _Name As String
Public Property ID As Integer
Get
Return _ID
End Get
Set(value As Integer)
_ID = value
End Set
End Property
Public Property Name As String
Get
Return _Name
End Get
Set(value As String)
_Name = value
End Set
End Property
End Class
End Namespace
準備資料來填充上面建立好的對象: 複製代碼 代碼如下:Private Function GetData() As List(Of Catalog) Dim cls As New List(Of Catalog) Dim cl As Catalog = New Catalog() cl.ID = 1 cl.Name = "唇膏" cls.Add(cl) cl = New Catalog() cl.ID = 2 cl.Name = "胭脂" cls.Add(cl) cl = New Catalog() cl.ID = 3 cl.Name = "化妝水" cls.Add(cl) cl = New Catalog() cl.ID = 4 cl.Name = "護手霜" cls.Add(cl) Return cls End Function
在.aspx頁面拉一個Repeater控制項: 複製代碼 代碼如下:<asp:Repeater ID="RepeaterCatalog" runat="server">
<HeaderTemplate>
<table border="1" cellpadding="3" cellspacing="0">
<tr>
<td>ID
</td>
<td>Name
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%# Eval("ID")%>
</td>
<td>
<%# Eval("Name")%>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
然在.aspx.vb為Repeater控制項綁定資料: 複製代碼 代碼如下:Imports Insus.NET
Partial Class Default2
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
Data_Binding()
End If
End Sub
Private Sub Data_Binding()
Me.RepeaterCatalog.DataSource = GetData()
Me.RepeaterCatalog.DataBind()
End Sub
End Class
ok,一切準備緒,我們在.aspx拉一個銨鈕,讓使用者點擊此銨鈕時,能對Repeater控制項的資料匯出Excel。 複製代碼 代碼如下:<asp:Button ID="Button1" runat="server" Text="Export to Excel" OnClick="Button1_Click" />
銨鈕拉好,我們要去.aspx.vb寫onClick事件,在寫之前,首先下載一個InsusExportToExcel Library 解壓之後放入BIN目錄中。 複製代碼 代碼如下:Protected Sub Button1_Click(sender As Object, e As EventArgs)
Dim obj As New InsusExportToExcel() '執行個體化對象。
obj.ExportToExcel(Me.RepeaterCatalog, "catalog") '傳入Repeater控制項以入匯出的Excel檔案名稱。
End Sub
當然最後,少不了示範: