OdsoDataSourceType Enumeration |
Namespace: Aspose.Words.Settings
| Member name | Value | Description | |
|---|---|---|---|
| Text | 0 | Specifies that a given document has been connected to a text file. Possibly wdMergeSubTypeOther. | |
| Database | 1 | Specifies that a given document has been connected to a database. Possibly wdMergeSubTypeAccess. | |
| AddressBook | 2 | Specifies that a given document has been connected to an address book of contacts. Possibly wdMergeSubTypeOAL. | |
| Document1 | 3 | Specifies that a given document has been connected to another document format supported by the producing application. Possibly wdMergeSubTypeOLEDBWord. | |
| Document2 | 4 | Specifies that a given document has been connected to another document format supported by the producing application. Possibly wdMergeSubTypeWorks. | |
| Native | 5 | Specifies that a given document has been connected to another document format native to the producing application. Possibly wdMergeSubTypeOLEDBText | |
| 6 | Specifies that a given document has been connected to an e-mail application. Possibly wdMergeSubTypeOutlook. | ||
| None | 7 | The type of the external data source is not specified. Possibly wdMergeSubTypeWord. | |
| Legacy | 8 | Specifies that a given document has been connected to a legacy document format supported by the producing application Possibly wdMergeSubTypeWord2000. | |
| Master | 9 | Specifies that a given document has been connected to a data source which aggregates other data sources. | |
| Default | 7 | Equals to None. |
The OOXML specification is very vague for this enum. I guess it might correspond to the WdMergeSubType enumeration http://msdn.microsoft.com/en-us/library/bb237801.aspx.
// 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");