Automatizar a geração de documentos é crucial para as empresas criarem relatórios dinâmicos, faturas e cartas. Com Aspose.Words Mail Merge para .NET, você pode preencher eficientemente templates do Word com dados de várias fontes, incluindo objetos, CSV, JSON e XML. Este guia demonstra como utilizar Mail Merge em C# para fluxos de trabalho de documentos automatizados e otimizados, focando especificamente na criação dinâmica de documentos do Word em C# .NET.
Tópicos Abordados:
- Visão Geral do Mail Merge para .NET
- Gerar Documentos a partir de Várias Fontes de Dados
- Melhores Práticas para Mail Merge
- FAQs
Visão Geral do Mail Merge para .NET
Aspose.Words Mail Merge para .NET permite que desenvolvedores gerem documentos personalizados a partir de templates predefinidos contendo campos de mesclagem. O plugin é projetado para uma integração sem costura dentro de ambientes .NET, oferecendo capacidades para:
- Preencher templates com dados dinamicamente, suportando a geração de documentos do Word no framework .NET.
- Realizar a geração em massa de documentos de forma eficiente, aproveitando a solução de mail merge do .NET para grandes conjuntos de dados.
- Manter formatação consistente em todas as saídas, aprimorando efetivamente as melhores práticas para templates do Word em C#.
Principais Recursos:
- Suporte a Múltiplas Fontes: Use dados de objetos, bancos de dados, XML, JSON e CSV para criar documentos Word personalizados com C#.
- Alta Performance: Gerencie eficientemente grandes conjuntos de dados e operações em massa para geração dinâmica de documentos do Word com .NET Core.
- Templates Personalizáveis: Crie templates com marcadores para inserção de dados, aproveitando as capacidades da automação de mail merge do Word no .NET.
Configureção
Instale Aspose.Words usando NuGet:
PM> Install-Package Aspose.Words
Gerar Documento Word a partir de Template Usando Objetos C#
Primeiro, vamos ver como preencher um template do Word usando objetos C#. Para ilustrar isso, criaremos um documento do Word (DOC/DOCX) com os seguintes marcadores como conteúdo do documento:
<<[sender.Name]>> diz: "<<[sender.Message]>>."
Aqui, sender é uma instância de uma classe que usaremos para preencher o template utilizando a abordagem de gerar documento do Word a partir de banco de dados com C#.
Agora, podemos usar o motor de relatórios do Aspose.Words para gerar o documento do Word a partir do template e da instância da classe Sender seguindo estes passos:
- Crie uma instância da classe Document e inicialize-a com o caminho do template do Word.
- Crie e inicialize um objeto da classe Sender.
- Instancie a classe ReportingEngine.
- Preencha o template usando ReportingEngine.BuildReport(), que leva a instância do Documento, a fonte de dados e o nome da fonte de dados como parâmetros.
- Salve o documento do Word gerado usando o método Document.Save().
O seguinte exemplo de código demonstra como gerar um documento do Word a partir de um template em C#.
Saída
Gerar Documento Word a partir de uma Fonte de Dados XML em C#
Para gerar um documento do Word a partir de uma fonte de dados XML, utilizaremos um template de Word mais complexo com os seguintes marcadores:
<<foreach [in persons]>>Nome: <<[Name]>>, Idade: <<[Age]>>, Data de Nascimento: <<[Birth]:"dd.MM.yyyy">>
<</foreach>>
Idade média: <<[persons.Average(p => p.Age)]>>
A fonte de dados XML usada neste exemplo é mostrada abaixo.
Para criar um documento Word a partir de uma fonte de dados XML, siga estes passos:
- Crie uma instância da classe Document e inicialize-a com o caminho do template do Word.
- Crie uma instância da classe XmlDataSource e inicialize-a com o caminho do arquivo XML.
- Instancie a classe ReportingEngine.
- Use o método ReportingEngine.BuildReport() como antes para preencher o template do Word.
- Salve o documento do Word gerado usando o método Document.Save().
Aqui está o exemplo de código demonstrando como gerar um documento do Word a partir de uma fonte de dados XML em C#.
Saída
Gerar Documento Word a partir de uma Fonte de Dados JSON em C#
Em seguida, vamos explorar como gerar um documento do Word usando uma fonte de dados JSON. Neste exemplo, criaremos uma lista de clientes segmentados por seus gerentes. O template do Word ficará assim:
<<foreach [in managers]>>Gerente: <<[Name]>>
Contratos:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
A correspondente fonte de dados JSON que usaremos para preencher o template está abaixo:
Para gerar o documento do Word a partir do JSON, utilizaremos a classe JsonDataSource para carregar a fonte de dados, e os passos restantes seguirão a estrutura anterior. O exemplo de código abaixo mostra como gerar um documento do Word a partir do template JSON em C#.
Saída
Gerar Documento Word a partir de Fonte de Dados CSV em C#
Para gerar o documento do Word a partir de uma fonte CSV, utilizaremos o seguinte template do Word:
<<foreach [in persons]>>Nome: <<[Column1]>>, Idade: <<[Column2]>>, Data de Nascimento: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
Idade média: <<[persons.Average(p => p.Column2)]>>
O template será preenchido usando os seguintes dados CSV:
Agora, vamos revisar o código C#. Os passos permanecem os mesmos, exceto por uma diferença chave: utilizaremos a classe CsvDataSource para carregar os dados CSV. O seguinte exemplo de código ilustra como gerar o documento do Word a partir de uma fonte de dados CSV.
Saída
Experimente o Aspose.Words para .NET Grátis
Você pode experimentar o Aspose.Words para .NET usando uma licença temporária gratuita.
Conclusão
Neste artigo, você aprendeu como gerar documentos do Word a partir de templates usando C#. Você descobriu como aproveitar várias fontes de dados, como objetos, XML, JSON e CSV para geração dinâmica de documentos .NET. Aprofunde-se nas capacidades do processamento de templates do Word no .NET explorando a documentação, e sinta-se à vontade para entrar em contato pelo nosso fórum.