Ir para o conteúdo do rodapé
FERRAMENTAS DO EXCEL

Como visualizar arquivos do PowerPoint em C#

Escrito pela equipe da Iron Software

A mesclagem de correspondência do Excel para o Microsoft Word permite a criação rápida de cartas, etiquetas ou e-mails personalizados sem a necessidade de editar manualmente cada documento. A ideia é simples: você mantém uma única planilha Excel contendo todos os detalhes dos seus destinatários, conecta-a a um modelo de mesclagem de correspondência no Word, insere campos de mesclagem onde os dados personalizados devem aparecer e deixa o Word gerar uma cópia separada e personalizada para cada linha dos seus dados. O que levaria horas de edição manual é feito em minutos, com cada nome, endereço e detalhe preenchido corretamente a partir da sua lista de correspondências.

O processo de mesclagem de correspondências envolve três documentos em qualquer execução bem-sucedida: o arquivo Excel contendo os dados, o documento principal no Word onde a carta ou etiqueta está e o documento mesclado que é produzido no final. Uma mesclagem de correspondências bem-sucedida requer uma planilha limpa, dados formatados corretamente e um modelo de Word com campos de mesclagem colocados nas posições corretas. Tipos de dados especiais, como códigos postais, moedas e datas, devem ser formatados corretamente no Excel antes de iniciar uma mesclagem de correspondência, e todos os dados devem estar na primeira folha da pasta de trabalho do Excel para que o Word os leia corretamente.

Este artigo explica cada etapa do processo: preparar sua planilha Excel, conectá-la como uma fonte de dados na guia mailings, inserir campos de mesclagem, pré-visualizar resultados, completar a mesclagem e lidar com mensagens de e-mail. Desenvolvedores que precisam construir ou validar fontes de dados Excel programaticamente antes de executar uma mesclagem encontrarão uma seção no final cobrindo como IronXL lida com a criação e formatação de arquivos Excel em .NET sem a necessidade de instalar o Microsoft Office.

Etapa 1: Prepare sua planilha Excel

Uma planilha Excel limpa e bem estruturada é a base de uma mesclagem de correspondências confiável no Word. Antes de abrir o Word, a correspondência entre seus dados e seus campos de mesclagem depende inteiramente de como o arquivo Excel está configurado.

Cabeçalhos de coluna na primeira linha. Certifique-se de que sua planilha Excel tenha uma coluna para cada item que você deseja incluir, como Nome, Endereço, Cidade, Estado e Código Postal. Os nomes das colunas na primeira linha se tornam os campos de mesclagem disponíveis no Word, então eles devem ser únicos, claramente rotulados e colocados sem linhas em branco acima deles. Certifique-se de que a primeira linha contenha cabeçalhos únicos e nenhuma linha em branco acima dela, pois o Word usa a primeira linha para identificar os campos de mesclagem disponíveis.

Use colunas separadas para cada pedaço de dados. Armazene o primeiro nome, sobrenome e saudação em colunas separadas, ao invés de combiná-los. Isso dá a você controle total ao construir a linha de saudação e o bloco de endereço mais tarde. Antes de executar uma mesclagem de correspondência no Word, certifique-se de que seu arquivo Excel contenha todas as informações necessárias, como primeiro nome, sobrenome, saudação, códigos postais e endereços.

Formate códigos postais e CEPs como texto. Ao preparar seus dados no Excel para uma mesclagem de correspondência, certifique-se de que a coluna para códigos postais ou CEPs esteja formatada como texto para evitar perder zeros à esquerda. Um código postal como 02101 perderá silenciosamente o zero à esquerda se a célula estiver formatada como um número, causando saída incorretamente formatada em cada carta mesclada.

Mantenha todos os dados na primeira folha. Todos os dados devem estar na primeira folha da pasta de trabalho do Excel para uma mesclagem de correspondência bem-sucedida. Se sua pasta de trabalho tiver várias abas, o Word lerá apenas a primeira folha, então mova todas as suas entradas de dados para a Folha 1 antes de conectar o arquivo.

Salve e feche o arquivo Excel. Arquivos Excel devem ser salvos e fechados antes de serem vinculados ao Microsoft Word para que a mesclagem de correspondência funcione corretamente. Um arquivo Excel aberto pode causar erros de conexão quando o Word tenta importar os dados.

Mantenha os cabeçalhos das colunas curtos e sem espaços sempre que possível. Nomes de colunas como "FirstName" e "ZipCode" são menos propensos a causar problemas com a caixa de diálogo de campos de correspondência do que nomes contendo espaços ou caracteres especiais.

How To Mail Merge From Excel To Word 1 related to Etapa 1: Prepare sua planilha Excel

Etapa 2: Abra o Word e inicie a Mesclagem de Correspondência

Com o arquivo Excel pronto, abra o Microsoft Word e crie ou abra seu documento principal. Se você já tiver um documento existente que deseja usar como modelo de carta, abra-o agora, ao invés de começar de uma página em branco. Esta é a carta, etiqueta ou modelo de e-mail que cada destinatário receberá.

Usando o Assistente de Mesclagem de Correspondência:

Para iniciar o Assistente de Mesclagem de Correspondência no Microsoft Word, clique na guia Mailings, depois selecione Iniciar Mesclagem de Correspondência e escolha Assistente de Mesclagem de Correspondência na seta suspensa no final da lista. O Assistente de Mesclagem de Correspondência fornece um guia passo a passo para ajudar os usuários a criar documentos de mesclagem de correspondência, facilitando para iniciantes a navegação no processo. Um painel é aberto no lado direito da tela e o Word guia você por cada estágio em sequência.

Ao usar o Assistente de Mesclagem de Correspondência, os usuários podem selecionar o tipo de documento que desejam criar, como cartas ou etiquetas, e então prosseguir pelas etapas para se conectar à sua fonte de dados e inserir campos de mesclagem. Para este guia, selecione Cartas como o tipo de documento.

Usando a guia Mailings diretamente:

Usuários mais experientes podem clicar em iniciar a mesclagem de correspondências no grupo iniciar mesclagem de correspondências na guia Mailings e escolher o tipo de documento diretamente sem o assistente. Ambas as abordagens levam ao mesmo resultado.

How To Mail Merge From Excel To Word 2 related to Usando a guia Mailings diretamente:

Etapa 3: Conecte seu arquivo Excel como fonte de dados

Depois de definido o tipo de documento, o próximo passo é vincular seu arquivo Excel para que o Word saiba de onde obter os detalhes dos destinatários.

  1. Na guia Mailings, clique em Selecionar Destinatários no grupo de iniciar mesclagem de correspondências.
  2. Na seta suspensa, escolha Usar uma Lista Existente. Para conectar sua planilha Excel a um documento do Word para mesclagem de correspondência, você precisa selecionar Usar uma Lista Existente na opção Selecionar Destinatários na guia Mailings.
  3. Um navegador de arquivos é aberto. Navegue até a pasta que contém seu arquivo Excel, selecione-o e clique em Abrir.
  4. Uma caixa de diálogo aparece listando as folhas na pasta de trabalho. Selecione Sheet1 (a folha alvo contendo seus dados) e clique em OK.

O Word agora está conectado aos seus dados do Excel como a lista existente. A opção de navegação da lista existente permite localizar e abrir o arquivo xlsx salvo de qualquer local em seu computador. Neste ponto, o Word começa a importar informações da primeira folha da pasta de trabalho, tornando cada cabeçalho de coluna disponível como um campo de mesclagem.

Se o Word não puder ler o arquivo Excel corretamente, verifique se o arquivo está fechado, salvo no formato xlsx e se todos os cabeçalhos de coluna estão na primeira linha da Folha 1 sem linhas em branco acima deles.

Depois de conectado, você pode clicar em escolher editar lista de destinatários na guia Mailings para abrir o painel de destinatários da mesclagem de correspondências. Isso mostra cada linha da sua planilha como uma entrada separada. Você pode usá-lo para desmarcar destinatários específicos, ordenar a lista ou filtrar quais linhas estão incluídas na mesclagem. Revise cuidadosamente a lista de destinatários antes de continuar para garantir que o Word está lendo corretamente todas as suas entradas de dados.

How To Mail Merge From Excel To Word 3 related to Etapa 3: Conecte seu arquivo Excel como fonte de dados

Etapa 4: Insira campos de mesclagem em seu documento

Com a fonte de dados conectada, você pode agora colocar campos de mesclagem de correspondência no documento do Word onde você deseja que dados personalizados apareçam.

Usando o Bloco de Endereço:

O bloco de endereço é um atalho que combina nome, empresa e endereço de correspondência em um único campo. Clique em Bloco de Endereço no grupo de inserção de campos da guia Mailings. Uma caixa de diálogo aparece onde você pode configurar como o nome e o endereço estão formatados. Clique em Correspondência de campos se algum campo na caixa de diálogo de correspondência de campos não se alinhar automaticamente com os nomes das suas colunas. A caixa de diálogo de correspondência de campos permite mapear manualmente seus cabeçalhos de coluna para os nomes de campos esperados que o Word usa internamente, resolvendo quaisquer problemas de correspondência da planilha.

Usando campos de mesclagem individualmente:

Para total controle sobre o layout e a formatação, insira campos de mesclagem um de cada vez. Coloque o cursor onde você quer um campo, então clique em Inserir Campos de Mesclagem no grupo de inserção de campos. Uma lista suspensa lista todos os cabeçalhos de coluna da sua planilha Excel. Clique no nome do campo para inseri-lo na posição do cursor. Campos comuns para inserir incluem:

  • "Saudação" "PrimeiroNome" "Sobrenome" para a abertura do bloco de endereços
  • "Empresa" na linha abaixo
  • "Endereço" seguido por "Cidade", "Estado" e "CódigoPostal" na próxima linha
  • Uma linha de saudação como "Prezado/a "Saudação" "Sobrenome","

Usando a Linha de Saudação:

Clique em escolher linha de saudação na guia Mailings para inserir uma saudação pré-formatada. A caixa de diálogo permite escolher o formato da linha de saudação (Prezado Sr. Silva, Prezado João, etc.) e configurar uma alternativa para destinatários cujo campo de nome está vazio.

Sempre adicione um espaço entre campos de mesclagem consecutivos manualmente. O Word não adiciona espaço entre campos automaticamente, então ""PrimeiroNome""Sobrenome"" aparecerá como "JoãoSilva" sem um espaço entre os dois campos.

How To Mail Merge From Excel To Word 4 related to Etapa 4: Insira campos de mesclagem em seu documento

Etapa 5: Pré-visualize os Resultados Antes de Completar a Mesclagem

Depois de inserir campos de mesclagem em seu documento, você pode pré-visualizar os resultados selecionando Pré-visualizar Resultados na guia Mailings, permitindo que você veja como os dados mesclados aparecerão.

Clique em Pré-visualizar Resultados na guia Mailings. O Word substitui cada campo de mesclagem com os dados correspondentes da primeira linha da sua planilha Excel. Use as setas para a esquerda e direita no grupo de Pré-visualizar Resultados para mover entre registros e verificar se os dados de cada destinatário aparecem corretamente. Isso permite que você verifique os detalhes dos destinatários corretamente antes de se comprometer à mesclagem completa.

Verifique em particular:

  • Que a linha de saudação soa natural ("Prezado Sr. Santos," e não "Prezado Sr. Santos ,")
  • Que o bloco de endereço é formatado corretamente em todas as linhas, incluindo aquelas com nomes de empresa mais longos
  • Que códigos postais e CEPs exibem zeros à esquerda quando aplicável
  • Que o contador de registro atual no topo da página corresponde ao que você espera

Após inserir campos de mesclagem em sua mensagem de e-mail ou carta, você pode pré-visualizar os resultados para confirmar que o conteúdo aparece corretamente antes de completar o processo de mesclagem. Use as setas à esquerda e à direita para rolar por vários registros, não apenas o primeiro.

How To Mail Merge From Excel To Word 5 related to Etapa 5: Pré-visualize os Resultados Antes de Completar a Mesclagem

Etapa 6: Complete a Mesclagem de Correspondência e Produza Seus Documentos

Com a pré-visualização confirmada, você está pronto para executar a mesclagem e produzir a saída final.

Mesclando para um novo documento (recomendado):

Na guia Mailings, clique no botão Concluir e Mesclar, depois escolha Editar Documentos Individuais na seta suspensa. Uma caixa de diálogo pergunta se deseja mesclar todos os registros, o registro atual ou um intervalo. Selecione Todos e clique em OK. O Word gera um novo documento contendo todos os documentos individuais como páginas separadas, uma por destinatário. Essa é a abordagem mais segura, pois permite que você revise o documento mesclado antes de imprimir ou enviar.

Escolha salvar após revisar para manter o documento mesclado. Você também pode escolher salvar usando Arquivo > Salvar Como para renomeá-lo e armazená-lo junto com seu modelo e fonte de dados.

Impressão direta:

Clique em Concluir e Mesclar > Imprimir Documentos para enviar os resultados da mesclagem diretamente para a impressora sem criar um arquivo intermediário. Isso é útil quando você precisa imprimir documentos imediatamente e não precisa revisar ou arquivar os documentos individuais primeiro.

How To Mail Merge From Excel To Word 6 related to Etapa 6: Complete a Mesclagem de Correspondência e Produza Seus Documentos How To Mail Merge From Excel To Word 7 related to Etapa 6: Complete a Mesclagem de Correspondência e Produza Seus Documentos

Etapa 7: Crie Etiquetas de Correspondência

O mesmo processo de mesclagem de correspondências se aplica à criação de etiquetas de correspondência usando uma planilha Excel como fonte de dados, seguindo as mesmas etapas usadas para cartas.

  1. Na guia Mailings, clique em Iniciar Mesclagem de Correspondência > Etiquetas.
  2. Na caixa de diálogo Opções de Etiqueta, escolha seu fornecedor de etiquetas e número de produto para corresponder às folhas de etiquetas físicas no seu computador.
  3. Clique em Selecionar Destinatários > Usar uma Lista Existente e conecte-se ao mesmo arquivo Excel.
  4. Clique em Inserir Campos de Mesclagem para colocar os campos de endereço na etiqueta. Adicione "PrimeiroNome", "Sobrenome", "Endereço", "Cidade", "Estado", e "CódigoPostal" em linhas separadas dentro da área de etiquetas individuais.
  5. Clique em Atualizar Etiquetas para copiar o layout para todas as etiquetas na página.
  6. Pré-visualize, depois conclua e mescle para produzir etiquetas individuais prontas para impressão.

Etapa 8: Envie Mensagens de Email via Mesclagem de Correspondência

A mesclagem de correspondências também pode enviar mensagens de e-mail personalizadas diretamente do Word através do Microsoft Outlook.

O envio de e-mails através de mesclagem de correspondência requer que o Outlook esteja aberto e configurado como o programa de e-mail padrão. Isso se aplica tanto ao Outlook clássico quanto ao novo Outlook. Certifique-se de que isso esteja configurado antes de começar.

Ao configurar uma mesclagem de e-mails, certifique-se de que sua lista de e-mails inclua uma coluna para endereços de e-mail, que será usada para enviar mensagens personalizadas para cada destinatário. Na planilha de demonstração, esta é a coluna EmailAddress.

  1. Na guia Mailings, clique em Iniciar Mesclagem de Correspondência > Mensagens de E-Mail.
  2. Escreva o corpo do seu e-mail no documento do Word, depois insira campos de mesclagem para a linha de saudação e qualquer conteúdo personalizado exatamente como você faria em uma carta.
  3. Clique em Selecionar Destinatários > Usar uma Lista Existente e conecte-se ao seu arquivo Excel.
  4. Para personalizar mensagens de e-mail usando mesclagem de correspondência, insira campos de mesclagem em seu documento principal, como nomes e endereços, que serão substituídos pelos dados correspondentes da sua lista de e-mails.
  5. Clique em Concluir e Mesclar > Enviar Mensagens de E-Mail.
  6. Na caixa de diálogo, defina o campo Para para sua coluna de endereços de e-mail (EmailAddress), adicione uma linha de assunto e selecione HTML como o formato de e-mail para melhor compatibilidade.
  7. Clique em OK. O Word envia um e-mail personalizado para cada destinatário através do Outlook. Os contatos do Outlook também podem ser usados como uma fonte de dados alternativa em vez de uma planilha Excel, se sua lista de contatos estiver armazenada lá.

Após concluir uma mesclagem de e-mails, verifique sua pasta Itens Enviados do Outlook para confirmar se as mensagens foram despachadas. Cada e-mail na lista aparece como uma mensagem enviada separada, uma por destinatário.

How To Mail Merge From Excel To Word 8 related to Etapa 8: Envie Mensagens de Email via Mesclagem de Correspondência

Problemas Comuns e Solução de Problemas

O Word não consegue encontrar o arquivo Excel ou retorna um erro na conexão

Verifique se o arquivo Excel está salvo e totalmente fechado antes de tentar vinculá-lo no Word. Uma pasta de trabalho aberta com alterações não salvas pode bloquear a conexão. Também confirme se o arquivo está salvo como .xlsx em vez de .xls ou outro formato.

Códigos postais ou CEPs estão sem os zeros à esquerda

Isso acontece quando a coluna ZipCode no Excel está formatada como número em vez de texto. Abra a planilha, selecione a coluna ZipCode, formate-a como Texto e reintroduza quaisquer valores que perderam seus zeros à esquerda. Arquivos Excel devem ser salvos e fechados novamente antes de reconectar no Word.

Campos de mesclagem mostram códigos de campo em vez de dados (por exemplo, {MERGEFIELD PrimeiroNome})

Pressione Alt + F9 para alternar entre a exibição de código de campo e a exibição de resultado de campo no Word. Isso é uma configuração de exibição que não afeta a mesclagem em si.

A caixa de diálogo de correspondência de campos mostra campos não mapeados

Isso ocorre quando seus nomes de colunas não correspondem aos nomes que o Word espera para o bloco de endereços. Clique em Correspondência de Campos na guia Mailings e faça o mapeamento manual de cada nome de coluna para o campo correspondente do Word. Por exemplo, mapear sua coluna "ZipCode" para o campo "Código Postal" se o Word não o reconhecer automaticamente.

Alguns destinatários estão faltando na saída de mesclagem

Abra o painel de destinatários de mesclagem de correspondência clicando em escolher editar lista de destinatários na guia Mailings. Verifique se alguma linha foi acidentalmente desmarcada. Também confirme se não há linhas em branco no seu intervalo de dados na planilha Excel, pois isso pode fazer o Word parar de ler entradas de dados antes de atingir o fim da lista.

A mesclagem de e-mails envia, mas os destinatários não recebem os e-mails

Confirme que o Outlook está aberto e configurado como o programa de e-mail padrão antes de executar a mesclagem. Verifique a pasta Itens Enviados do Outlook para ver se as mensagens foram despachadas. Se estiver usando o novo Outlook, observe que algumas versões têm suporte limitado para mesclagem de e-mails em comparação com o Outlook clássico.

Referência Rápida: Mesclagem de Correspondência do Excel para o Word

Tarefa Onde encontrá-lo Notas
Iniciar mesclagem de correspondências Guia Mailings > Iniciar Mesclagem de Correspondências Escolha Cartas, Etiquetas ou Mensagens de E-Mail
Conectar arquivo Excel Selecionar Destinatários > Usar uma Lista Existente O arquivo deve ser salvo e fechado
Adicionar bloco de endereço Grupo de Inserir Campos > Bloco de Endereço Use Correspondência de Campos para mapeamento de colunas
Inserir campos individualmente Grupo Inserir Campos > Inserir Campos de Mesclagem Um campo por nome de campo de mesclagem
Adicionar linha de saudação Guia Mailings > Linha de Saudação Escolher formato da linha de saudação na caixa de diálogo
Pré-visualizar mesclagem Guia Mailings > Pré-visualizar Resultados Use as setas à esquerda e à direita para verificar registros
Complete a mesclagem para o arquivo Concluir e Mesclar > Editar Documentos Individuais Cria novo documento com todas as páginas
Imprimir documentos Concluir e Mesclar > Imprimir Documentos Envia diretamente para a impressora
Enviar mensagens de e-mail Concluir e Mesclar > Enviar Mensagens de E-Mail Requer Outlook como programa de e-mail padrão
Editar lista de destinatários Escolher Editar Lista de Destinatários Filtrar, classificar ou desmarcar linhas

Para Desenvolvedores: Construa e Valide Dados de Mesclagem de Correspondência do Excel com IronXL

Se sua aplicação gera a fonte de dados Excel que alimenta um processo de mesclagem de correspondência, a qualidade e formatação desse arquivo determinam diretamente se a mesclagem será bem-sucedida. IronXL é uma biblioteca .NET que permite que desenvolvedores C# criem, leiam e formatem arquivos Excel programaticamente sem necessidade de instalar o Microsoft Office no servidor ou máquina do desenvolvedor.

Os pontos de falha mais comuns em arquivos de dados de mesclagem de correspondência são cabeçalhos ausentes, células mescladas, códigos postais digitados incorretamente e linhas em branco dentro do intervalo de dados. IronXL oferece controle programático total sobre cada célula, formato de coluna e tipo de dado antes do arquivo ser entregue ao Word, eliminando esses problemas na origem.

Aqui está como criar uma lista de correspondência Excel corretamente estruturada usando IronXL, com todos os cabeçalhos de coluna na primeira linha da Folha 1 e a coluna ZipCode formatada como texto:

using IronXL;

// Create a new workbook - data must be on the first sheet for mail merge
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet workSheet = workBook.DefaultWorkSheet;
workSheet.Name = "Sheet1";

// Set column headers in row 1 - these become the merge field names in Word
string[] headers = {
    "FirstName", "LastName", "Salutation", "Company",
    "Address", "City", "State", "ZipCode", "EmailAddress"
};

for (int i = 0; i < headers.Length; i++)
{
    var headerCell = workSheet.GetCell(0, i);
    headerCell.Value = headers[i];
    headerCell.Style.Font.Bold = true;
}

// Add recipient data rows
var recipients = new[]
{
    new[] { "James",  "Carter",   "Mr.", "Carter & Associates",   "142 Oak Lane",     "Chicago",  "IL", "60601", "j.carter@carterassoc.com" },
    new[] { "Sarah",  "Mitchell", "Ms.", "Blue Ridge Consulting", "890 Maple Avenue", "Austin",   "TX", "78701", "s.mitchell@blueridge.com" },
    new[] { "Robert", "Nguyen",   "Mr.", "Nguyen Legal Group",    "55 Harbor View",   "Seattle",  "WA", "98101", "r.nguyen@nguyenlegal.com"  },
};

for (int row = 0; row < recipients.Length; row++)
{
    for (int col = 0; col < recipients[row].Length; col++)
    {
        var cell = workSheet.GetCell(row + 1, col);
        cell.Value = recipients[row][col];

        // Format ZipCode column (index 7) as text to preserve leading zeros
        // This prevents postal codes like "02101" from dropping to "2101"
        if (col == 7)
        {
            cell.FormatString = "@"; // @ = text format in Excel
        }
    }
}

// Save - file must be closed before Word can link to it for mail merge
workBook.SaveAs("mailing-list.xlsx");
using IronXL;

// Create a new workbook - data must be on the first sheet for mail merge
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet workSheet = workBook.DefaultWorkSheet;
workSheet.Name = "Sheet1";

// Set column headers in row 1 - these become the merge field names in Word
string[] headers = {
    "FirstName", "LastName", "Salutation", "Company",
    "Address", "City", "State", "ZipCode", "EmailAddress"
};

for (int i = 0; i < headers.Length; i++)
{
    var headerCell = workSheet.GetCell(0, i);
    headerCell.Value = headers[i];
    headerCell.Style.Font.Bold = true;
}

// Add recipient data rows
var recipients = new[]
{
    new[] { "James",  "Carter",   "Mr.", "Carter & Associates",   "142 Oak Lane",     "Chicago",  "IL", "60601", "j.carter@carterassoc.com" },
    new[] { "Sarah",  "Mitchell", "Ms.", "Blue Ridge Consulting", "890 Maple Avenue", "Austin",   "TX", "78701", "s.mitchell@blueridge.com" },
    new[] { "Robert", "Nguyen",   "Mr.", "Nguyen Legal Group",    "55 Harbor View",   "Seattle",  "WA", "98101", "r.nguyen@nguyenlegal.com"  },
};

for (int row = 0; row < recipients.Length; row++)
{
    for (int col = 0; col < recipients[row].Length; col++)
    {
        var cell = workSheet.GetCell(row + 1, col);
        cell.Value = recipients[row][col];

        // Format ZipCode column (index 7) as text to preserve leading zeros
        // This prevents postal codes like "02101" from dropping to "2101"
        if (col == 7)
        {
            cell.FormatString = "@"; // @ = text format in Excel
        }
    }
}

// Save - file must be closed before Word can link to it for mail merge
workBook.SaveAs("mailing-list.xlsx");
Imports IronXL

' Create a new workbook - data must be on the first sheet for mail merge
Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
workSheet.Name = "Sheet1"

' Set column headers in row 1 - these become the merge field names in Word
Dim headers As String() = {
    "FirstName", "LastName", "Salutation", "Company",
    "Address", "City", "State", "ZipCode", "EmailAddress"
}

For i As Integer = 0 To headers.Length - 1
    Dim headerCell = workSheet.GetCell(0, i)
    headerCell.Value = headers(i)
    headerCell.Style.Font.Bold = True
Next

' Add recipient data rows
Dim recipients = {
    New String() { "James",  "Carter",   "Mr.", "Carter & Associates",   "142 Oak Lane",     "Chicago",  "IL", "60601", "j.carter@carterassoc.com" },
    New String() { "Sarah",  "Mitchell", "Ms.", "Blue Ridge Consulting", "890 Maple Avenue", "Austin",   "TX", "78701", "s.mitchell@blueridge.com" },
    New String() { "Robert", "Nguyen",   "Mr.", "Nguyen Legal Group",    "55 Harbor View",   "Seattle",  "WA", "98101", "r.nguyen@nguyenlegal.com"  }
}

For row As Integer = 0 To recipients.Length - 1
    For col As Integer = 0 To recipients(row).Length - 1
        Dim cell = workSheet.GetCell(row + 1, col)
        cell.Value = recipients(row)(col)

        ' Format ZipCode column (index 7) as text to preserve leading zeros
        ' This prevents postal codes like "02101" from dropping to "2101"
        If col = 7 Then
            cell.FormatString = "@" ' @ = text format in Excel
        End If
    Next
Next

' Save - file must be closed before Word can link to it for mail merge
workBook.SaveAs("mailing-list.xlsx")
$vbLabelText   $csharpLabel

Para ler e validar um arquivo Excel existente antes de conectá-lo a um fluxo de trabalho de mesclagem de correspondência, o IronXL torna simples verificar a estrutura requerida:

using IronXL;

WorkBook workBook = WorkBook.Load("mailing-list.xlsx");

// Always read from the first sheet for mail merge compatibility
WorkSheet firstSheet = workBook.DefaultWorkSheet;

// Verify the first row contains column headers, not data
string firstHeader = firstSheet["A1"].StringValue;
Console.WriteLine($"First column header: {firstHeader}");

// Read all recipient data rows
foreach (var row in firstSheet.Rows.Skip(1)) // Skip header row
{
    string firstName = row[0].StringValue;
    string lastName  = row[1].StringValue;
    string zipCode   = row[7].StringValue; // Read as string to preserve leading zeros
    Console.WriteLine($"{firstName} {lastName} - ZIP: {zipCode}");
}
using IronXL;

WorkBook workBook = WorkBook.Load("mailing-list.xlsx");

// Always read from the first sheet for mail merge compatibility
WorkSheet firstSheet = workBook.DefaultWorkSheet;

// Verify the first row contains column headers, not data
string firstHeader = firstSheet["A1"].StringValue;
Console.WriteLine($"First column header: {firstHeader}");

// Read all recipient data rows
foreach (var row in firstSheet.Rows.Skip(1)) // Skip header row
{
    string firstName = row[0].StringValue;
    string lastName  = row[1].StringValue;
    string zipCode   = row[7].StringValue; // Read as string to preserve leading zeros
    Console.WriteLine($"{firstName} {lastName} - ZIP: {zipCode}");
}
Imports IronXL

Dim workBook As WorkBook = WorkBook.Load("mailing-list.xlsx")

' Always read from the first sheet for mail merge compatibility
Dim firstSheet As WorkSheet = workBook.DefaultWorkSheet

' Verify the first row contains column headers, not data
Dim firstHeader As String = firstSheet("A1").StringValue
Console.WriteLine($"First column header: {firstHeader}")

' Read all recipient data rows
For Each row In firstSheet.Rows.Skip(1) ' Skip header row
    Dim firstName As String = row(0).StringValue
    Dim lastName As String = row(1).StringValue
    Dim zipCode As String = row(7).StringValue ' Read as string to preserve leading zeros
    Console.WriteLine($"{firstName} {lastName} - ZIP: {zipCode}")
Next
$vbLabelText   $csharpLabel

IronXL roda no .NET 6 e posterior, e é totalmente compatível com Windows, Linux, macOS, Docker e Azure, tornando-o adequado para gerar arquivos de dados de mesclagem de correspondência a partir de aplicações servidor-side, trabalhos agendados ou APIs web sem qualquer dependência do Microsoft Office.

Primeiros passos: Instale via NuGet com Install-Package IronXL.Excel. Uma avaliação gratuita está disponível com 30 dias de funcionalidade completa e sem necessidade de cartão de crédito.

Leitura adicional:

Concluindo

Executar uma mesclagem de correspondência no Word a partir de uma planilha Excel é uma das formas mais confiáveis de produzir cartas, etiquetas de correspondência e mensagens de e-mail personalizadas em escala. O processo se resume a três etapas principais: construir uma lista de correspondência limpa no Excel com dados formatados corretamente na primeira folha, conectar esse arquivo ao Word via a guia Mailings usando Usar uma Lista Existente, e colocar campos de mesclagem precisamente onde cada pedaço de dados do destinatário deve aparecer.

Uma vez conectada a fonte de dados, o grupo de inserir campos e ferramentas de bloco de endereço no Word cuidam do trabalho pesado. Pré-visualize resultados com as setas à esquerda e à direita antes de finalizar a mesclagem para evitar qualquer problema de formatação, campos desalinhados ou códigos postais ausentes antes de chegarem a um destinatário. Depois que a mesclagem de correspondências estiver completa, você pode optar por salvar o documento mesclado, que retém a conexão com a fonte de dados, permitindo seu uso futuro sem precisar reconectar.

Para equipes de desenvolvimento cujas aplicações geram ou transformam os dados do Excel que alimentam um fluxo de trabalho de mesclagem de correspondência, IronXL fornece uma API limpa para criar arquivos de planilha corretamente estruturados e formatados em .NET sem dependências do Office. Comece com uma avaliação gratuita para explorar o conjunto completo de recursos no seu próprio ambiente.

Perguntas sobre um cenário específico de mesclagem de correspondência ou uma etapa que não funcionou como esperado? Deixe um comentário abaixo ou visite o blog da Iron Software para obter mais assistência com automação do Excel, formatação de dados e geração de documentos.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Equipe de Suporte Iron

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim