Generate Word from template in C#

A automatização da geração de documentos é crucial para as empresas que procuram criar relatórios dinâmicos, facturas e letras. com o Aspose.Words Mail Merge para .NET, você pode efetivamente localizar templates do Word com dados de várias fontes, incluindo objetos, CSV, JSON e XML. Este guia irá guiá-lo através da utilização do Mail Merge em C# para fluxos de trabalho de documentos simplificados e automatizados, focando-se na criação dinâmica de documento do Word com C# .NET.

Tabela de Conteúdo

Visão geral do Mail Merge para .NET

O Aspose.Words Mail Merge for .NET plugin permite que os desenvolvedores criem documentos personalizados a partir de templates predefinidos que contêm campos de fusão. esta integração é projetada para uso sem sentido dentro de ambientes .NET, oferecendo capacidades para:

  • População dinâmica de modelos com dados, suportando .NET framework geração de documento do Word.
  • Execute efetivamente a geração de documentos em massa, aproveitando a solução de fusão de correio .NET para documentos do Word.
  • Assegurar a formatação consistente em todas as saídas, melhorando C# Best Practices Word Document Template.

Características chave:

  • Multi-Source Support: Utilize dados de objetos, bases de dados, XML, JSON e CSV para criar documentos Word personalizados com C#.
  • High Performance: Gestão eficiente de grandes conjuntos de dados e operações em massa para a geração dinâmica de documentos do Word com .NET Core.
  • Customizable Templates: Crie templates com localizadores para inserção de dados, utilizando as capacidades .NET Word Mail Fusion Automation.

Instalação

Para começar, instale Aspose.Words usando NuGet:

PM> Install-Package Aspose.Words

Gerar Documentos de Palavra do Template usando Objetos C#

Vamos começar com a popularização de um modelo do Word usando objetos C#. Criaremos um documento do Word (DOC/DOCX) com os seguintes locais:

<<[sender.Name]>> says: "<<[sender.Message]>>."

Neste exemplo, sender é um exemplo de uma classe que usaremos para localizar o modelo usando o C# gerando documento do Word da abordagem de banco de dados.

Em seguida, usaremos o motor de relatório do Aspose.Words para gerar o documento do Word do modelo e do exemplo da classe Sender, seguindo os seguintes passos:

  • Crie um exemplo de Documento Classificar e iniciá-lo com o caminho do modelo de Palavra.
  • Crie e inicia um objeto da classe Sender.
  • Imediatamente o ReportingEngine da classe.
  • População do modelo usando Informações sobre o projeto(), que toma o exemplo do documento, a fonte de dados e o nome da fonte de dados como parâmetros.
  • Salve o documento do Word gerado usando Livro de Reserva().

Aqui está a amostra de código que mostra como gerar um documento do Word de um modelo em C#.

saída

Gerar um documento Word de uma fonte de dados XML em C#

Para gerar um documento do Word de uma fonte de dados XML, usaremos um modelo Word mais complexo com os seguintes locais:

<<foreach [in persons]>>Name: <<[Name]>>, Age: <<[Age]>>, Date of Birth: <<[Birth]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<[persons.Average(p => p.Age)]>>

A fonte de dados XML utilizada neste exemplo é mostrada abaixo.

Para criar um documento do Word a partir de uma fonte de dados XML, siga estas etapas:

  • Crie uma instância da classe Document e inicia-a com o caminho do modelo do Word.
  • Crie um exemplo de XmlDataSource Classificação e inicia-o com o caminho do arquivo XML.
  • Instale a classe ReportingEngine.
  • Use o método ReportingEngine.BuildReport() para localizar o modelo do Word.
  • Salve o documento do Word gerado usando o método Document.Save.

Aqui está a amostra de código que mostra como gerar um documento do Word de uma fonte de dados XML em C#.

saída

Gerar um documento de palavra 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, criamos uma lista de clientes segmentados pelos seus gerentes:

<<foreach [in managers]>>Manager: <<[Name]>>
Contracts:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>

A fonte de dados JSON correspondente que usaremos para localizar o modelo é abaixo:

Para gerar o documento do Word a partir de JSON, usaremos o JsonDataSource A classe para carregar a fonte de dados, e os passos restantes seguirão a estrutura anterior. Aqui está a amostra de código que mostra como gerar um documento Word do modelo JSON em C#.

saída

Gerar um documento de palavra a partir de uma fonte de dados CSV em C#

Para gerar o documento do Word de uma fonte CSV, usaremos o seguinte modelo do Word:

<<foreach [in persons]>>Name: <<[Column1]>>, Age: <<[Column2]>>, Date of Birth: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<[persons.Average(p => p.Column2)]>>

O modelo será populado usando os seguintes dados CSV:

Agora, vamos revisar o código C#. Os passos permanecem os mesmos, exceto para uma diferença chave: usaremos a CsvDataSource A seguinte amostra de código ilustra como gerar o documento do Word de uma fonte de dados CSV.

saída

Tente Aspose.Words para .NET para Grátis

Você pode tentar Versões para .NET Usando um Livre Licença temporária.

Conclusão

Neste artigo, você aprendeu como gerar documentos do Word a partir de templates usando C#. Você explorou como aproveitar várias fontes de dados como objetos, XML, JSON e CSV para generação dinâmica de documentos em .NET. Para mais informações sobre as capacidades do .NET Word template processing, mergulhe no Documentação, e sentir-se livre para alcançar através do nosso Fórum.

More in this category