在Mail Merge操作之前或期间进行清理

Aspose.Words允许您应用不同的清理和删除选项,例如在执行Mail Merge操作之前删除合并字段或在Mail Merge操作期间删除未使用的区域。 本节将介绍如何删除合并的字段以及如何设置删除选项。

删除合并字段

当您使用其他人创建的某个长模板时,您可能希望在执行Mail Merge操作之前删除该模板中已存在的所有合并字段。 如果要在不执行Mail Merge操作的情况下从文档中删除所有合并字段,则可以使用DeleteFields方法。 此方法不受CleanupOptions属性的任何删除选项的影响,执行它只会删除合并的字段,而不会删除任何包含字段或空段落。

下面的代码示例演示如何在不执行Mail Merge操作的情况下从模板中删除所有合并字段:

设置Removing选项

Aspose.Words使您能够使用删除选项在Mail Merge操作期间从模板中删除未合并的字段、区域和段落。

使用CleanupOptions属性和MailMergeCleanupOptions枚举来设置删除选项。 通过选择以下选项指定要删除的项目(可以合并多个):

  • 删除空段落
  • 删除未使用的区域
  • 删除未使用的字段
  • 删除包含字段
  • 删除静态字段
  • 删除空表行

在以下条件之一中,您可以将合并字段视为未合并字段:

  1. 如果数据源中的合并字段没有列或映射字段。
  2. 如果数据源中的合并字段包含映射字段,但数据为null。

删除空段落

当Mail Merge进程将其所有合并字段删除为未合并时,仅包含合并字段的段落将为空。 这些空段落可以添加不需要的空间并更改生成的报告的外观。 在Mail Merge操作期间,您可能会面临两种段落的情况:

  1. Mail Merge字段将与空数据合并。
  2. 合并字段未使用,将被删除。

在这两种情况下,RemoveEmptyParagraphs选项都会自动从文档中删除空段落。 此外,如果段落的其余部分为空,它将删除TableStart和TableEnd合并字段。

下面的代码示例演示如何删除空段落:

删除未使用的区域

在Aspose.Words的早期版本中,在Mail Merge操作期间会自动从文档中删除空的Mail Merge区域。 使用最新版本的Aspose。单词,默认情况下在Mail Merge操作之后保留空Mail Merge区域。 但是,您可以使用RemoveUnusedRegions选项在Mail Merge操作期间删除未使用的Mail Merge区域。 例如,您可以将文档与空数据源合并,其中不包含导致文档中未使用区域的数据表。

下面的代码示例演示如何删除未使用的合并区域:

删除未使用的字段

Aspose.Words允许您通过将RemoveUnusedFields标志分配给CleanupOptions来删除任何未使用的Mail Merge字段。 此选项将删除数据源中没有相应数据的合并字段。

下面的代码示例演示如何在Mail Merge操作期间自动从文档中删除任何未使用的合并字段:

删除包含字段

合并字段可以包含在另一个字段中,例如IF字段或公式字段。 合并字段或从文档中删除合并字段时删除此外部字段。

下面的代码示例演示如何从文档中删除包含合并字段的字段:

删除空表行

Aspose.Words允许您通过将RemoveEmptyTableRows标志分配给CleanupOptions来删除空表行。 此选项将删除包含空合并字段的表行。

下面的代码示例演示如何从文档中删除包含Mail Merge区域的空表行: