Page tree
Skip to end of metadata
Go to start of metadata
The following example generates a Word file from a template that contains the merge fields ProductName, CompanyName, and URL. The WordWriter code gets the values for these fields from an array of objects.

To set a template's data source to an array, first create an object array of field values and a string array of field names:

Each merge field in the template will bind to a field name/field value pair. When creating field name and field value arrays to use as a data source, remember:

  • The two arrays must contain the same number of elements.
  • Each name in the array of field names must be the same as the corresponding merge field name in the template.
  • The number of unique merge fields in the template may not exceed the number of values in the data source. The data source must provide a value for each merge field in the template.
  • The number of values in the data source may be greater than the number of merge fields in the template.

First, create the WordTemplate object and open a template file:

C#
VB.NET

You can call the SetDataSourcemethod before or after opening the template (that is, before or after calling Open). When you call SetDataSource, pass the two arrays you created to the method as parameters:

C#
VB.NET

The Process method enters the array values in the template's merge fields:

C#
VB.NET

The Save either saves the new Word file on the server, or streams it to the browser. In this example, WordWriter streams the generated file to the client:

C#
VB.NET

On the client, a File Download dialog will ask the user to open or save the Word file. Since the Save method's third parameter - OpenInBrowser - is set to False, if the user chooses to open the file, it will open in Microsoft Word.

  • No labels