GetFieldNames

MailMerge.GetFieldNames method

返回文档中可用的邮件合并字段名称的集合。

public string[] GetFieldNames()

评论

返回包含可选前缀的完整合并字段名称。不会消除重复的字段名称。

每次调用都会创建一个新的 string[] 数组。

包括“mustache”字段名称,如果UseNonMergeFields真的.

例子

演示如何获取文档中所有合并字段的名称。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.InsertField(" MERGEFIELD FirstName ");
builder.Write(" ");
builder.InsertField(" MERGEFIELD LastName ");
builder.InsertParagraph();
builder.InsertField(" MERGEFIELD City ");

DataTable dataTable = new DataTable("MyTable");
dataTable.Columns.Add("FirstName");
dataTable.Columns.Add("LastName");
dataTable.Columns.Add("City");
dataTable.Rows.Add(new object[] { "John", "Doe", "New York" });
dataTable.Rows.Add(new object[] { "Joe", "Bloggs", "Washington" });

// 对于文档中的每个 MERGEFIELD 名称,确保数据表包含一列
// 同名,然后执行邮件合并。 
string[] fieldNames = doc.MailMerge.GetFieldNames();

Assert.AreEqual(3, fieldNames.Length);

foreach (string fieldName in fieldNames)
    Assert.True(dataTable.Columns.Contains(fieldName));

doc.MailMerge.Execute(dataTable);

也可以看看