Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introducedin
8.6.1
8.6.1
Description

Excerpt

Sets an IEnumerable<T> as a data source to bind to template data markers.

Signature
C#
C#
  public void BindData(System.Collections.Generic.IEnumerable<T> dataSource, System.String dataSourceName, DataBindingProperties property)
Signature
vb.net
vb.net

Public Sub BindData(ByVal dataSource As System.Collections.Generic.IEnumerable(Of T), ByVal dataSourceName As String, ByVal [property] As DataBindingProperties)

Parameters

Param
dataSource
dataSource

The IEnumerable<T> collection to use as the data source.

...

Param
property
property

The DataBindingProperties object which contains information about how the data should be bound to the template. property Must be specified, but the DataBindingProperties need not be set beforehand. To bind data to a template with the default DataBindingProperties, pass in ExcelTemplate.CreateDataBindingProperties() as the property value. Otherwise, use the ExcelTemplate.CreateDataBindingProperties() method to generate a new DataBindingProperties object and set the DataBindingProperties.MaxRows, DataBindingProperties.Transpose, and/or DataBindingProperties.WorksheetName properties for the workbook.

Exceptions

Exception
ArgumentNullException
ArgumentNullException

BindData will throw this exception if null (C#) or Nothing (VB.NET) is passed to the method.

...

Example
Code Block
csharp
csharp
titleC#
            ExcelTemplate xlt = new ExcelTemplate();

          interface IOrder
          {
               int OrderID;
               string Customer;
               DateTime OrderDate;
               float OrdersTotal;
          }


          IEnumerable<IOrder> orders = GetOrders();
          xlt.BindData(orders, "Orders", xlt.CreateDataImportProperties());
        
Code Block
vb.net
vb.net
titlevb.net
            Dim xlt As New ExcelTemplate()
          Interface IOrder
               Property OrderID() as Int32
               Property Customer() as String
               Property OrderDate() as DateTime
               Property OrdersTotal() as Single
          End Interface

          Dim orders as IEnumerable(Of Order) = GetOrders()
          xlt.BindData(orders, "Orders", xlt.CreateDataImportProperties())