
Automatizar a geração de documentos é crucial para empresas que buscam criar relatórios dinâmicos, faturas e cartas. Com o Aspose.Words Mail Merge para .NET, você pode preencher eficientemente modelos do Word com dados de várias fontes, incluindo objetos, CSV, JSON e XML. Este guia irá orientá-lo sobre como utilizar o Mail Merge em C# para fluxos de trabalho documentais automatizados e simplificados, com foco na criação dinâmica de documentos Word com C# .NET.
Índice
- Visão Geral do Mail Merge para .NET
- Gerando Documentos de Várias Fontes de Dados
- Melhores Práticas para Mail Merge
- Perguntas Frequentes
Visão Geral do Mail Merge para .NET
O plugin Aspose.Words Mail Merge para .NET permite que desenvolvedores criem documentos personalizados a partir de modelos pré-definidos contendo campos de mesclagem. Esta integração é projetada para uso contínuo em ambientes .NET, oferecendo capacidades para:
- Preencher dinamicamente modelos com dados, suportando geração de documentos Word no framework .NET.
- Realizar eficientemente a geração em massa de documentos, aproveitando a solução de mail merge para documentos Word no .NET.
- Garantir formatação consistente em todas as saídas, aprimorando as melhores práticas de template de documentos Word em C#.
Principais Recursos:
- Suporte a Múltiplas Fontes: Utilize dados de objetos, bancos de dados, XML, JSON e CSV para criar documentos Word personalizados com C#.
- Alto Desempenho: Gerencie eficientemente grandes conjuntos de dados e operações em massa para geração dinâmica de documentos Word com .NET Core.
- Modelos Personalizáveis: Crie modelos com espaços reservados para inserção de dados, utilizando as capacidades de automação de mail merge do Word no .NET.
Configuração
Para começar, instale o Aspose.Words usando o NuGet:
PM> Install-Package Aspose.Words
Gerar Documento Word a partir de Template Usando Objetos C#
Vamos começar preenchendo um modelo do Word usando objetos C#. Criaremos um documento Word (DOC/DOCX) com os seguintes espaços reservados:
<<[sender.Name]>> diz: "<<[sender.Message]>>."
Neste exemplo, sender é uma instância de uma classe que usaremos para preencher o modelo usando a abordagem de gerar documento Word a partir de banco de dados em C#.
Em seguida, usaremos o mecanismo de relatórios do Aspose.Words para gerar o documento Word a partir do modelo e da instância da classe Sender seguindo estas etapas:
- Crie uma instância da classe Document e inicialize-a com o caminho do modelo do Word.
- Crie e inicialize um objeto da classe Sender.
- Instancie a classe ReportingEngine.
- Preencha o modelo usando ReportingEngine.BuildReport(), que recebe a instância do Document, a fonte de dados e o nome da fonte de dados como parâmetros.
- Salve o documento Word gerado usando Document.Save().
Aqui está o exemplo de código que demonstra como gerar um documento 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 Word a partir de uma fonte de dados XML, usaremos um modelo do Word mais complexo com os seguintes espaços reservados:
<<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 estas etapas:
- Crie uma instância da classe Document e inicialize-a com o caminho do modelo 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() para preencher o modelo do Word.
- Salve o documento Word gerado usando o método Document.Save().
Aqui está o exemplo de código que demonstra como gerar um documento 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#
A seguir, vamos explorar como gerar um documento Word usando uma fonte de dados JSON. Neste exemplo, criaremos uma lista de clientes segmentados por seus gerentes. O modelo do Word será assim:
<<foreach [in managers]>>Gerente: <<[Name]>>
Contratos:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
A fonte de dados JSON correspondente que usaremos para preencher o modelo é a seguinte:
Para gerar o documento Word a partir do JSON, usaremos a classe JsonDataSource para carregar a fonte de dados, e os passos restantes seguirão a estrutura anterior. Aqui está o exemplo de código que demonstra como gerar um documento 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 Word a partir de uma fonte CSV, utilizaremos o seguinte modelo 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 modelo 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: usaremos a classe CsvDataSource para carregar os dados CSV. O seguinte exemplo de código ilustra como gerar o documento Word a partir de uma fonte de dados CSV.
Saída

Experimente o Aspose.Words para .NET Gratuitamente
Você pode experimentar o Aspose.Words para .NET usando uma licença temporária gratuita.
Conclusão
Neste artigo, você aprendeu como gerar documentos Word a partir de modelos usando C#. Você explorou como aproveitar várias fontes de dados, como objetos, XML, JSON e CSV para geração dinâmica de documentos no .NET. Para mais informações sobre as capacidades do processamento de templates Word no .NET, mergulhe na documentação e sinta-se à vontade para entrar em contato através do nosso fórum.