...
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; } |
...