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 o mail merge com regiões se você deseja 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
A mail merge região é uma parte específica dentro de um documento que tem um ponto de partida 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 mail merge a região será repetida automaticamente para cada registo na fonte de dados.
Aspose.Words permite executar mail merge com regiões que utilizam um dos ExecuteWithRegions métodos que aceitam IMailMergeDataSource fonte de dados personalizada.
O exemplo de código a seguir mostra como executar mail merge com regiões do banco de dados sqlite com SQLiteCpp:
Você pode notar a diferença entre o documento antes de executar mail merge com regiões:
E depois de executar mail merge com regiões:
Limitações do Mail Merge com regiões
Existem alguns pontos importantes que você precisa considerar ao realizar um mail merge com regiões:
- O ponto de partida TableStart:Orders e o ponto final TableEnd:Orders ambos 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 DataTable. A menos que você especifique campos mapeados, mail merge com regiões não será bem-sucedido para qualquer campo de mesclagem que tenha um nome diferente do nome da coluna.
- Aspose.Words para C++ só suporta IMailMergeDataSource e IMailMergeDataSourceRoot com base fontes de dados. Ao contrário .NET e Java, C++ não ter aceito multi-plataforma API para trabalhar com bases de dados (como ADODB, ODBC, ou JDBC). Para funcionar com uma fonte de dados específica, você precisará implementar IMailMergeDataSource ou IMailMergeDataSourceRoot interface.
Se uma destas regras for violada, obterá resultados inesperados ou poderá ser lançada uma excepção.