Page tree

Versions Compared

Key

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

The following sample generates an Excel spreadsheet from a template using arrays as data sources.

Code sample: Using an Array as the Data Source

[C#] [VB.NET]

The first data marker in the template is *%%=$SimpleArray*. *%%=$* indicates that the data source is either a simple variable or a 1-dimensional array that is a data source for a single column.

...

Code Block
languagec#
string[] onedim = {"SoftArtisans", "OfficeWriter", "ExcelTemplate"};x
xltlt.BindColumnData(onedim, "SimpleArray",xlt.CreateDataBindingProperties());

...

ExcelTemplate.BindColumnData sets a data source for a template column to a 1-dimensional array of objects. The method's first parameter, onedim, is the data source array. The second parameter, "SimpleArray", is the name of the template data marker to which the data source binds. The third parameter, xlt.CreateDataBindingProperties(), is a DataBindingProperties object that contains values that change how the data are bound to the template; in this case, the default property values are used.

 

The method BindData binds the data markers *%%=TwoDimArray.#1*, *%%=TwoDimArray.#2*, and *%%=TwoDimArray.#3* to a 2-dimensional string array:

...

Data MarkerCode

%%=$SimpleArray

Column
Code Block
languagec#
 string[] onedim = {"SoftArtisans",
    "OfficeWriter",
    "ExcelTemplate"};
xlt.BindColumnData(onedim,
    "SimpleArray",
    xlt.CreateDataBindingProperties());
Column
Code Block
languagevb
Dim onedim As String() = {"SoftArtisans", _
    "OfficeWriter", _
    "ExcelTemplate"}
xlt.BindColumnData(onedim, _
    "SimpleArray", _
    xlt.CreateDataBindingProperties()) 

%%=TwoDimArray.#1

%%=TwoDimArray.#2

%%=TwoDimArray.#3


Column
Code Block
languagec#
string[][] twodim = {
    new string[]{"Nancy", "Davolio", "Sales Manager"},
    new string[]{"Michael", "Suyama", "HR Representative"},
    new string[]{"Adrian",
        "King",
        "IS Support"}
    };
string[] names = {"FirstName", "LastName", "Position"};
xlt.BindData(twodim,
    names,
    "TwoDimArray",
    xlt.CreateDataBindingProperties());
Column
Code Block
languagevb
Dim twodim()() As String = New String()() { _
    New String(){"Nancy", "Davolio", "Sales Manager"}, _
    New String(){"Michael", "Suyama", "HR Representative"}, _
    New String(){"Adrian", _
        "King", _
        "IS Support"}
    }
Dim names As String() = {"FirstName", "LastName", "Position"}
xlt.BindData(twodim, _
    names, _
    "TwoDimArray", _
    xlt.CreateDataBindingProperties())

%%=Address.Street

Column
Code Block
languagec#
string[] addressvalues = {"3 Brook St.",
    "Watertown",
    "MA"};
string[] addressnames = {"Street", "City", "State"};
xlt.BindRowData(addressvalues,
    addressnames,
    "Address",
    xlt.CreateDataBindingProperties());
Column
Code Block
languagevb
Dim addressvalues As String() = {"3 Brook St.", _
    "Watertown", _
    "MA"}
Dim addressnames As String() = {"Street", "City", "State"}
xlt.BindRowData(addressvalues, _
    addressnames, _
    "Address", _
    xlt.CreateDataBindingProperties()

 

 

Wiki Markup
| ** \\ ** \\ ** | {csharp:5}

{csharp}
{vbnet}
{vbnet} |
| ** \\ *%%=Address.City* \\ *%%=Address.State* | {csharp:12}

{csharp}
{vbnet}
) {vbnet}|

\
{scrollbar}