MailMergeSettingsQuery Property |
Namespace: Aspose.Words.Settings
// We'll create a simple document that will act as a destination for mail merge data Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.Write("Dear "); builder.InsertField("MERGEFIELD FirstName", "<FirstName>"); builder.Write(" "); builder.InsertField("MERGEFIELD LastName", "<LastName>"); builder.Writeln(": "); builder.InsertField("MERGEFIELD Message", "<Message>"); // Also we'll need a data source, in this case it will be an ASCII text file // We can use any character we want as a delimiter, in this case we'll choose '|' // The delimiter character is selected in the ODSO settings of mail merge settings string[] lines = { "FirstName|LastName|Message", "John|Doe|Hello! This message was created with Aspose Words mail merge." }; string dataSrcFilename = ArtifactsDir + "Document.MailMergeSettings.DataSource.txt"; File.WriteAllLines(dataSrcFilename, lines); // Set the data source, query and other things MailMergeSettings settings = doc.MailMergeSettings; settings.MainDocumentType = MailMergeMainDocumentType.MailingLabels; settings.CheckErrors = MailMergeCheckErrors.Simulate; settings.DataType = MailMergeDataType.Native; settings.DataSource = dataSrcFilename; settings.Query = "SELECT * FROM " + doc.MailMergeSettings.DataSource; settings.LinkToQuery = true; settings.ViewMergedData = true; Assert.AreEqual(MailMergeDestination.Default, settings.Destination); Assert.False(settings.DoNotSupressBlankLines); // Office Data Source Object settings Odso odso = settings.Odso; odso.DataSource = dataSrcFilename; odso.DataSourceType = OdsoDataSourceType.Text; odso.ColumnDelimiter = '|'; odso.FirstRowContainsColumnNames = true; // ODSO/MailMergeSettings objects can also be cloned Assert.AreNotSame(odso, odso.Clone()); Assert.AreNotSame(settings, settings.Clone()); // The mail merge will be performed when this document is opened doc.Save(ArtifactsDir + "Document.MailMergeSettings.docx");