...
- Create an instance of WordTemplate
- Open the template document
- Set one or more document data sources or repeat blocks
- Call the WordTemplate.Process() method to pull in the data
- Save the document either to disk, or to a response stream to the client browser.
Code
Code Block |
---|
private string recipName; private string recipCompany; /// <summary> /// Build the report with WordTemplate /// </summary> public void GenerateDocument() { this.recipCompany = "SoftArtisans"; this.recipName = "Jon Smith"; // /* Form the array of mergefield names. The elements in this array // * correspond to the names of the merge fields in the template, // * and each element's array index should correspond to an element in the // * value array */ string[] NamesArr = { "Name", "Company", "DateTime" }; // /* Form an array containg the values to be inserted */ object[] ValuesArr = { recipName, recipCompany, System.DateTime.Now }; // /* Create an instance of WordTemplate */ WordTemplate wt = new WordTemplate(); // /* Open the template document */ string templatePath = @"..\..\templatesWordTemplateFiles\BasicTemplate.docx"; wt.Open(templatePath); // /* Set the main data source with the Name and Value arrays wt*/ wt.SetDataSource(ValuesArr, NamesArr); // /* Populate the template to pull in the new values */ wt.Process(); // /*Save the populated document*/ wt.Save(@"..\..\outputWordOutputFiles\BasicTemplate_output.docx"); } } } |
\
Downloads
Panel |
---|
Template: BasicTemplate.docx Output: BasicTemplate_output.docx |