Automatizar a criação de documentos personalizados – tais como relatórios, cartas e facturas – pode melhorar significativamente a eficiência no seu fluxo de trabalho.Com C# Mail Merge alimentado por Aspose.Words para .NET, você pode alcançar isso sem problemas.Este guia irá ajudá-lo a usar o Plugin de Askos.Segundos de Correios para executar uma geração de documento eficiente e escalável dentro de suas aplicações .NET – sem a necessidade de MS Word ou Office Interop.
Conteúdo
- O que é o Mail Merge?
- Fonte de dados para Mail Merge
- Preparação de Mail Merg Templates
- Começar com Aspose.Words para .NET
- Perform Mail Mergue com dados de amostra
- Correção de e-mail com dados XML
- Formato de campo personalizado
- Correios se unem com regiões
- Postado por Nested Mail
- Conclusão
O que é Mail Merge?
Mail Merge é uma metodologia poderosa para a geração dinâmica de documentos através da popularização de modelos com dados de várias fontes. com Aspose.Words, você pode automatizar tarefas como:
- Criação de cartas e faturas personalizadas.
- Criar relatórios em massa usando formatos estruturados como XML, JSON ou bases de dados, permitindo a geração de relatórios dinâmicos com C# e Aspose.Words.
Fonte de dados para Mail Merge
Aspose.Words suporta uma variedade de fontes de dados, incluindo:
- Objetos: Templates populares usando instâncias de classe.
- XML: Carregar dados estruturados para campos dinâmicos.
- JSON: fácil de integrar com APIs modernos.
- CSV: Livrar dados de tabela para a geração de documentos em massa.
- DataTable/DataSet: Utilize ADO.NET para integração de banco de dados.
Preparação de Template para Mail Merge
O modelo de fusão de correio é o documento que contém campos de fusão que serão populados com dados da sua fonte de dados especificada durante a execução. O modelo pode ser em formato DOC ou DOCX e não requer um estilo específico. Siga estas etapas para criar um modelo de fusão de correio:
- Abra o seu documento ou crie um novo no MS Word.
- Coloque o cursor onde você deseja inserir um campo de fusão.
- No menu Insert, selecione a opção Field.
- Na lista Nomes de campo, selecione MergeField.
- Digite um nome para o campo de fusão na caixa Nome do campo e clique em OK.
- Salve o documento.
A seguinte imagem ilustra a Modelo de amostra O documento.

.NET Mail Merge API - Instalação
Você pode instalar Aspose.Words para .NET através de vários métodos:
Performar Mail Merge em Word Document usando C#
Uma vez que o seu modelo está pronto, você pode executar a fusão de e-mail para gerar documentos. Aqui estão as etapas para executar a fusão de e-mail no seu modelo preparado:
- Carregue o documento de modelo usando o Documento da classe.
- Selecione as opções de fusão de e-mail necessárias, como Documentação.MailMerge.TrimWhitespaces.
- Execute a fusão de e-mail usando o Documentação.MailMerge.Execute() método, passando a fonte de dados como um parâmetro.
- Salve o documento gerado usando o Documentação (Save String) do método.
Aqui está uma amostra de código que demonstra como reporte automático geração em C# usando uma série de valores:
Documento Word após o Mail Merge

Performar Mail Merge usando XML Data Source em C#
Os arquivos XML são usados comumente para armazenar e transferir dados. Aspose.Words para .NET suporta XML como uma fonte de dados para operações de fusão de correio. DataSet Objeto e executar a fusão de correio. abaixo está um arquivo de amostra XML para o nosso caso de uso.
<customers>
<customer Name="John Ben Jan" ID="1" Domain="History" City="Boston"/>
<customer Name="Lisa Lane" ID="2" Domain="Chemistry" City="LA"/>
<customer Name="Dagomir Zits" ID="3" Domain="Heraldry" City="Milwaukee"/>
<customer Name="Sara Careira Santy" ID="4" Domain="IT" City="Miami"/>
</customers>
A amostra de código a seguir recebe dados de uma fonte de dados XML e executa a fusão de correio usando C#.
Abaixo está o e-mail fusão Templo que será populado com dados do arquivo XML.

Esta imagem representa a primeira página do documento Word resultante obtido após executar a fusão de correio.

Formatação personalizada de campos de fusão {#formatação personalizada de campos de fusão}
Aspose.Words para .NET fornece controle melhorado sobre o processo de fusão de correio. Arquivo da tag.fieldmergingcallback A propriedade permite que você configure o comportamento de fusão de e-mail como cada campo fusion é encontrado. Conheça o site e o site.com e IFieldMergingCallback.ImageFieldMerging Os métodos permitem a personalização da operação de fusão de correio.
Abaixo está uma amostra de código que demonstra como aplicar formatação personalizada durante a fusão de correio através do modelo de exemplo fornecido:
O seguinte implementa a classe HandleMergeFieldAlternatingRows.
Mail Merge com Regiões usando C#
Em alguns casos, você pode precisar localizar e repetir uma região específica dentro do documento do Word. Para tais cenários, use a fusão de correio com regiões. para criar uma região, especifique tanto o começo como o fim da região; as fusões de e-mail, em seguida, repetirá esta região para cada registro na fonte de dados. O exemplo do modelo abaixo contém duas regións — Ordens e Detalhes de ordem — usando os campos de fusion «TableStart:Orders», « TabelaEnd:OrderDetails», e « tabelaExtra:Segundos».

Aqui está uma amostra de código que executa a fusão de e-mail com base em regiões para o anteriormente mencionado Templo.
Os seguintes métodos ilustram como ler dados de uma base de dados.
Postado por Nested Mail Merge
Muitas vezes, os dados da fonte são estruturados em formatos relativos. Por exemplo, “Order” pode ter uma relação de um para vários com “OrdersDetails”, que mantém registros de itens dentro de uma ordem. Modelo de Fatura Isso se adapta muito bem a este cenário.

A seguir é uma fonte de dados XML para o nosso exemplo de fusão de correio.
<?xml version="1.0" encoding ="utf-8"?>
<Orders xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="OrdersSchema.xsd">
<Order>
<Number>23</Number>
<Address>Nelson Street</Address>
<Suburb>Howick</Suburb>
<City>Auckland</City>
<Phonenumber>543 1234</Phonenumber>
<Date>03/01/2010</Date>
<Total>14.00</Total>
<Item>
<Name>BBQ Chicken Pizza</Name>
<Price>6.00</Price>
<Quantity>1</Quantity>
<ItemTotal>6.00</ItemTotal>
</Item>
<Item>
<Name>1.5 Litre Coke</Name>
<Price>4.00</Price>
<Quantity>2</Quantity>
<ItemTotal>8.00</ItemTotal>
</Item>
</Order>
<Order>
<Number>10</Number>
<Address>Parkville Avenue</Address>
<Suburb>Pakuranga</Suburb>
<City>Auckland</City>
<Phonenumber>548 7342</Phonenumber>
<Date>05/03/2010</Date>
<Total>6.00</Total>
<Item>
<Name>Hawaiian Pizza</Name>
<Price>4.00</Price>
<Quantity>1</Quantity>
<ItemTotal>4.00</ItemTotal>
</Item>
<Item>
<Name>Fries</Name>
<Price>1.00</Price>
<Quantity>2</Quantity>
<ItemTotal>2.00</ItemTotal>
</Item>
</Order>
</Orders>
O arquivo OrderSchema.xsd correspondente para este XML é:
<?xml version="1.0" encoding ="utf-8"?>
<xs:schema id="OrdersSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Orders">
<xs:complexType>
<xs:sequence>
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="Number"/>
<xs:element name="Address"/>
<xs:element name="Suburb"/>
<xs:element name="City"/>
<xs:element name="Phonenumber"/>
<xs:element name="Date"/>
<xs:element name="Total"/>
<xs:element name="Item">
<xs:complexType>
<xs:sequence>
<xs:element name="Name"/>
<xs:element name="Price"/>
<xs:element name="Quantity"/>
<xs:element name="ItemTotal"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
A amostra de código a seguir executa a fusão de correio nesto usando C#.
Documento Word após o Mail Merge
Abaixo está a primeira página do documento Word resultante obtido após a execução da fusão de correio.

Conclusão
Aspose.Words para .NET é uma API de fusão de e-mail abrangente que fornece funções padrão e extensas adequadas para aplicações .NET. Com apenas algumas linhas de código, você pode desenvolver relatórios simples ou complexos de várias fontes de dados sem problemas. DocumentaçãoPara começar com Aspose.Words para .NET, explore o disponível Guia do desenvolvedor e o código de amostra em GitHub. O Aspose Plugin também oferece funcionalidades avançadas para a geração de relatórios.
Tente Aspose.Words para .NET para Grátis
Você pode obter uma licença temporária gratuita para tentar Aspose.Words para .NET sem restrições. Obtenha sua licença temporária agora.
More in this category
- Converter Word DOC/DOCX para PDF em C# .NET Aspose.Words' Document Converter Plugin
- Gerar Código de Barras em Documentos do Word (.NET, C#) | Ler Código de Barras do Word (.NET)
- Extrair imagens de documentos do Word em processamento automático de imagens em C#
- Encontrar e substituir texto em Documentos de Word usando C# Ativar automaticamente o Word Editing
- Crie documentos de palavra personalizados usando C# .NET Aspose.Words Mail Merge Plugin