OdsoFieldMapData

OdsoFieldMapData class

指定如何将外部数据源中的列映射到文档中的预定义合并字段。

public class OdsoFieldMapData

构造函数

姓名 描述
OdsoFieldMapData() 默认构造函数。

特性

姓名 描述
Column { get; set; } 指定外部数据源中列的从零开始的索引,该索引应 映射到特定 MERGEFIELD 字段的本地名称。 默认值为 0。
MappedName { get; set; } 指定预定义的合并字段名称,该名称应映射到由 指定的列号Column此字段映射中的属性。 默认值为空字符串。
Name { get; set; } 指定外部数据源中 索引由Columnproperty. 默认值为空字符串。
Type { get; set; } 指定给定的邮件合并字段是否已映射到给定外部数据源中的列。 默认值为Default.

方法

姓名 描述
Clone() 返回此对象的深层克隆。

评论

Microsoft Word 提供了一些预定义的合并字段名称,它允许将其插入到文档中,作为 ADDRESSBLOCK 或 GREETINGLINE 字段中的 MERGEFIELD 或 使用。中指定的信息OdsoFieldMapData 允许将外部数据源中的一列映射到单个预定义的合并字段。

例子

演示如何访问将数据源列映射到合并字段的数据集合。

Document doc = new Document(MyDir + "Odso data.docx");

// 此集合定义邮件合并如何映射来自数据源的列
// 到预定义的 MERGEFIELD、ADDRESSBLOCK 和 GREETINGLINE 字段。
OdsoFieldMapDataCollection dataCollection = doc.MailMergeSettings.Odso.FieldMapDatas;
Assert.AreEqual(30, dataCollection.Count);

using (IEnumerator<OdsoFieldMapData> enumerator = dataCollection.GetEnumerator())
{
    int index = 0;
    while (enumerator.MoveNext())
    {
        Console.WriteLine($"Field map data index {index++}, type \"{enumerator.Current.Type}\":");

        Console.WriteLine(
            enumerator.Current.Type != OdsoFieldMappingType.Null
                ? $"\tColumn \"{enumerator.Current.Name}\", number {enumerator.Current.Column} mapped to merge field \"{enumerator.Current.MappedName}\"."
                : "\tNo valid column to field mapping data present.");
    }
}

// 克隆此集合中的元素。
Assert.AreNotEqual(dataCollection[0], dataCollection[0].Clone());

// 按索引单独使用“RemoveAt”方法元素。
dataCollection.RemoveAt(0);

Assert.AreEqual(29, dataCollection.Count);

// 使用“Clear”方法一次清除整个集合。
dataCollection.Clear();

Assert.AreEqual(0, dataCollection.Count);

也可以看看