Page tree

Versions Compared

Key

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

...

Code Block
public void GenerateDocument()
        {
            //Select the state for which we will print out the data
            this.stateCode = "MA";
            /*/ Create WordTemplate
*/             WordTemplate wt = new WordTemplate();

            /*/ Open the template document
*/             string templatePath = @"..\..\WordTemplateFiles\MailMergeTemplate.docx";
            wt.Open(templatePath);

            // Get the datatable for any state by parsing that state's specific csv file
            DataTable RegionData = GetCustomerData(@"..\..\WordData\MailMergeDemoData"+this.stateCode+".CSV");


            /*/ Set the DataTable as the source for the mailmerge.*/
            wt.SetMailMerge(RegionData);
            wt.Process();

            /*/ Save the document*/
            string docName = String.Format("MailMerge-{0}", this.stateCode);
            wt.Save(@"..\..\WordOutputFiles\"+ docName+ "_output"+".docx");
        }

        /// <summary>
        /// Parses the data from the csv file with the data for a specific state
        /// Note: only the MA csvfile exists because this is for sample purposes
        /// </summary>
        /// <returns>DataTable of mailing data</returns>
        private DataTable GetCustomerData(String csvFileName)
        {
            DataTable dt;
            using (GenericParserAdapter parser = new GenericParserAdapter(csvFileName))
            {
                parser.ColumnDelimiter = ',';
                parser.FirstRowHasHeader = true;

                dt = parser.GetDataTable();
            }


            return dt;


        }

...