Tipos de operação Mail Merge

A ideia principal de Mail Merge é criar automaticamente um documento ou vários documentos com base no seu modelo e nos dados obtidos da sua fonte de dados. Aspose.Words permite executar dois tipos diferentes de operações Mail Merge: simples Mail Merge e Mail Merge com regiões.

O exemplo mais comum de Utilização do simple Mail Merge é quando pretende enviar um documento para clientes diferentes, incluindo os seus nomes no início do documento. Para fazer isso, você precisa criar campos de mesclagem como First Name e Last Name em seu modelo e, em seguida, preenchê-los com dados de sua fonte de dados. Considerando que o exemplo mais comum de usar Mail Merge com regiões é quando você deseja enviar um documento que inclui pedidos específicos com a lista de todos os itens dentro de cada pedido. Para fazer isso, você precisará criar regiões de mesclagem dentro do seu modelo – região própria para cada pedido, a fim de preenchê-lo com todos os dados necessários para os itens.

A principal diferença entre as duas operações de mesclagem é que simples Mail Merge (sem regiões) repete todo o documento por cada registro da fonte de dados, enquanto Mail Merge com regiões repete apenas regiões designadas por registro. Você pode pensar em uma operação simples Mail Merge como um caso particular de mesclagem com regiões onde a única região é o documento inteiro.

Operação Simples Mail Merge

Um simples Mail Merge é usado para preencher os campos Mail Merge dentro do seu modelo com os dados necessários da sua fonte de dados (representação de tabela única). Portanto, é semelhante ao clássico Mail Merge em Microsoft Word.

Você pode adicionar um ou mais campos de mesclagem em seu modelo e, em seguida, executar a operação simples Mail Merge. Recomenda-se usá-lo se o seu modelo não contiver regiões de mesclagem.

A principal limitação da utilização deste tipo é que todo o conteúdo do documento será repetido para cada registo na fonte de dados.

Como executar uma operação simples Mail Merge

Assim que o modelo estiver pronto, pode começar a executar a operação simples Mail Merge. Aspose.Words permite executar uma operação simples Mail Merge usando diferentes Execute methods que aceitam vários objetos de dados como fonte de dados.

O exemplo de código a seguir mostra como executar uma operação Mail Merge simples usando um dos métodos Execute:

Você pode notar a diferença entre o documento antes de executar simples mail merge:

simple_mail_merge_template

E depois de executar simples mail merge:

execute_simple_mail_merge

Como criar vários documentos mesclados

Em Aspose.Words, a operação padrão Mail Merge preenche apenas um único documento com conteúdo da sua fonte de dados. Portanto, você precisará executar a operação Mail Merge várias vezes para criar vários documentos mesclados como saída.

O exemplo de código a seguir mostra como gerar vários documentos mesclados durante uma operação Mail Merge:

Mail Merge com regiões

Você pode criar diferentes regiões em seu modelo para ter áreas especiais que você pode simplesmente preencher com seus dados. Use Mail Merge com regiões se quiser inserir tabelas, linhas com dados repetidos para fazer seus documentos crescerem dinamicamente, especificando essas regiões em seu modelo.

Você pode criar regiões aninhadas (filho), bem como mesclar regiões. A principal vantagem de usar este tipo é aumentar dinamicamente as partes dentro de um documento. Veja mais detalhes no próximo artigo"aninhado Mail Merge com regiões".

Como executar Mail Merge com regiões

Uma Região Mail Merge é uma parte específica dentro de um documento que tem um ponto inicial e um ponto final. Ambos os pontos são representados como Mail Merge campos com nomes específicos “TableStart:XXX” e “TableEnd:XXX”. Todo o conteúdo incluído numa região Mail Merge será automaticamente repetido para cada registo na fonte de dados.

Aspose.Words permite executar Mail Merge com regiões usando diferentes Execute methods que aceitam vários objetos de dados como fonte de dados.

Como primeiro passo, precisamos criar o DataSet para passá-lo posteriormente como um parâmetro de entrada para o método ExecuteWithRegions:

O exemplo de código a seguir mostra como executar Mail Merge com regiões usando o método ExecuteWithRegions(DataSet):

Você pode notar a diferença entre o documento antes de executar Mail Merge com regiões:

mail_merge_with_regions_template

E depois de executar Mail Merge com regiões:

mail_merge_with_regions_execute

Limitações de Mail Merge com regiões

Existem alguns pontos importantes que você precisa considerar ao executar um Mail Merge com regiões:

  • O ponto inicial TableStart:Orders e o ponto final TableEnd:Orders precisam estar na mesma linha ou célula. Por exemplo, se você iniciar uma região de mesclagem em uma célula de uma tabela, deverá encerrar a região de mesclagem na mesma linha da primeira célula.
  • O nome do campo de mesclagem deve corresponder ao nome da coluna em seu DataTable. A menos que você tenha especificado campos mapeados, o Mail Merge com regiões não será bem-sucedido para qualquer campo de mesclagem que tenha um nome diferente do nome da coluna.

Se uma destas regras for violada, obterá resultados inesperados ou poderá ser lançada uma excepção.