Cómo ver archivos de PowerPoint en C#
Escrito por el equipo de Iron Software
La combinación de correspondencia de Excel a Microsoft Word permite la creación rápida de cartas, etiquetas o correos electrónicos personalizados sin editar manualmente cada documento. La idea es simple: mantienes una única hoja de cálculo de Excel que contiene todos los detalles de tus destinatarios, la conectas a una plantilla de combinación de correspondencia de Word, insertas campos de combinación donde deben aparecer los datos personalizados, y dejas que Word genere una copia separada y personalizada para cada fila de tus datos. Lo que tomaría horas de edición manual se hace en minutos, con cada nombre, dirección y detalle poblado correctamente desde tu lista de correo.
El proceso de combinación de correspondencia implica tres documentos involucrados en cualquier ejecución exitosa: el archivo de Excel que contiene los datos, el documento principal en Word donde vive la carta o etiqueta, y el documento combinado que se produce al final. Una combinación de correspondencia exitosa requiere una hoja de cálculo limpia, datos formateados correctamente y una plantilla de Word con campos de combinación colocados en las posiciones correctas. Los tipos de datos especiales como códigos postales, monedas y fechas deben estar formateados correctamente en Excel antes de comenzar una combinación de correspondencia, y todos los datos deben estar en la primera hoja del libro de Excel para que Word los lea correctamente.
Este artículo explica cada paso del proceso: preparar tu hoja de cálculo de Excel, conectarla como fuente de datos en la pestaña de correspondencia, insertar campos de combinación, previsualizar resultados, completar la combinación y manejar mensajes de correo electrónico. Los desarrolladores que necesitan construir o validar fuentes de datos de Excel programáticamente antes de ejecutar una combinación encontrarán una sección al final que cubre cómo IronXL maneja la creación y el formato de archivos de Excel en .NET sin requerir que Microsoft Office esté instalado.
Paso 1: Prepara tu hoja de cálculo de Excel
Una hoja de cálculo de Excel limpia y bien estructurada es la base de una combinación de correspondencia de Word confiable. Antes de abrir Word, la coincidencia de la hoja de cálculo entre tus datos y tus campos de combinación depende completamente de cómo está configurado el archivo de Excel.
Encabezados de columna en la primera fila. Asegúrate de que tu hoja de cálculo de Excel tenga una columna para cada elemento que quieras incluir, como Nombre, Dirección, Ciudad, Estado y Código postal. Los nombres de columna en la primera fila se convierten en los campos de combinación disponibles en Word, por lo que deben ser únicos, claramente etiquetados y colocados sin filas en blanco por encima de ellos. Asegúrate de que la primera fila contenga encabezados únicos y no haya filas en blanco por encima, ya que Word utiliza la primera fila para identificar los campos de combinación disponibles.
Usa columnas separadas para cada dato. Guarda el nombre, apellido y saludo en columnas separadas en lugar de combinarlos. Esto te da control total al construir la línea de saludo y el bloque de dirección más adelante. Antes de ejecutar una combinación de correspondencia en Word, asegúrate de que tu archivo de Excel contenga toda la información necesaria, como nombre, apellido, saludo, códigos postales y direcciones.
Formatea los códigos postales y códigos ZIP como texto. Al preparar tus datos de Excel para una combinación de correspondencia, asegúrate de que la columna de códigos ZIP o códigos postales esté formateada como texto para evitar perder ceros a la izquierda. Un código postal como 02101 perderá silenciosamente el cero a la izquierda si la celda está formateada como un número, causando una salida formateada incorrectamente en cada carta combinada.
Mantén todos los datos en la primera hoja. Todos los datos deben estar en la primera hoja del libro de Excel para que la combinación de correspondencia sea exitosa. Si tu libro de trabajo tiene múltiples pestañas, Word solo leerá la primera hoja, así que mueve todas tus entradas de datos a la Hoja 1 antes de conectar el archivo.
Guarda y cierra el archivo de Excel. Los archivos de Excel deben guardarse y cerrarse antes de vincularlos a Microsoft Word para que la combinación de correspondencia funcione correctamente. Un archivo de Excel abierto puede causar errores de conexión cuando Word intenta importar los datos.
Mantén los encabezados de columna cortos y sin espacios donde sea posible. Los nombres de columna como "FirstName" y "ZipCode" tienen menos posibilidades de causar problemas con el cuadro de diálogo de campos de coincidencia que los nombres que contienen espacios o caracteres especiales.

Paso 2: Abre Word y comienza la combinación de correspondencia
Con el archivo de Excel listo, abre Microsoft Word y crea o abre tu documento principal. Si ya tienes un documento existente que deseas usar como plantilla de carta, ábrelo ahora en lugar de comenzar desde una página en blanco. Esta es la plantilla de carta, etiqueta o correo electrónico que cada destinatario recibirá.
Usando el Asistente de combinación de correspondencia paso a paso:
Para empezar el Asistente de combinación de correspondencia en Microsoft Word, haz clic en la pestaña Correspondencia, luego selecciona Iniciar combinación de correspondencia, y elige Asistente de combinación de correspondencia paso a paso del menú desplegable en la parte inferior de la lista. El Asistente de combinación de correspondencia proporciona una guía paso a paso para ayudar a los usuarios a crear documentos de combinación de correspondencia, haciendo más fácil para los principiantes navegar por el proceso. Se abre un panel en el lado derecho de la pantalla y Word te guía a través de cada etapa en secuencia.
Al usar el Asistente de combinación de correspondencia, los usuarios pueden seleccionar el tipo de documento que desean crear, como cartas o etiquetas, y luego proceder con los pasos para conectar a su fuente de datos e insertar campos de combinación. Para esta guía, selecciona Cartas como el tipo de documento.
Usando directamente la pestaña de Correspondencia:
Los usuarios más experimentados pueden hacer clic en iniciar combinación de correspondencia desde el grupo de inicio de combinación de correspondencia en la pestaña de Correspondencia y elegir el tipo de documento directamente sin el asistente. Cualquier enfoque lleva al mismo resultado.

Paso 3: Conecta tu archivo de Excel como la fuente de datos
Una vez que el tipo de documento está configurado, el siguiente paso es enlazar tu archivo de Excel para que Word sepa de dónde extraer los detalles del destinatario.
- En la pestaña de Correspondencia, haz clic en Seleccionar destinatarios en el grupo de inicio de combinación de correspondencia.
- Desde la flecha desplegable, elige Usar una lista existente. Para conectar tu hoja de cálculo de Excel a un documento de Word para la combinación de correspondencia, debes seleccionar Usar una lista existente en la opción Seleccionar destinatarios en la pestaña de Correspondencia.
- Se abre un explorador de archivos. Navega a la carpeta que contiene tu archivo de Excel, selecciona y haz clic en Abrir.
- Aparece un cuadro de diálogo que lista las hojas en el libro de trabajo. Selecciona Hoja1 (la hoja objetivo que contiene tus datos) y haz clic en OK.
Word ahora está conectado a tus datos de Excel como la lista existente. La opción de explorador para lista existente te permite localizar y abrir el archivo xlsx guardado desde cualquier ubicación en tu computadora. En este punto, Word comienza importando información desde la primera hoja del libro de trabajo, haciendo disponibles cada encabezado de columna como un campo de combinación.
Si Word no puede leer el archivo de Excel correctamente, verifica que el archivo esté cerrado, guardado en formato xlsx, y que todos los encabezados de columna estén en la primera fila de la Hoja 1 sin filas en blanco por encima.
Una vez conectado, puedes hacer clic en elegir editar lista de destinatarios en la pestaña de Correspondencia para abrir el panel de destinatarios de la combinación de correspondencia. Esto muestra cada fila de tu hoja de cálculo como una entrada separada. Puedes usarlo para deseleccionar destinatarios específicos, ordenar la lista o filtrar qué filas se incluyen en la combinación. Revisa la lista de destinatarios con cuidado antes de continuar para asegurar que Word está leyendo correctamente todas tus entradas de datos.

Paso 4: Inserta campos de combinación en tu documento
Con la fuente de datos conectada, ahora puedes colocar campos de combinación de correspondencia dentro del documento de Word en cualquier lugar donde desees que aparezcan datos personalizados.
Usando el bloque de dirección:
El bloque de dirección es un atajo que combina nombre, empresa y dirección postal en un solo campo. Haz clic en Bloque de dirección en el grupo de insertar campos de la pestaña de Correspondencia. Aparece un cuadro de diálogo donde puedes configurar cómo se formatean el nombre y la dirección. Haz clic en Coincidir campos si algún campo en el cuadro de diálogo de campos de coincidencia no se alinea automáticamente con los nombres de tus columnas. El cuadro de diálogo de campos de coincidencia te permite asignar manualmente tus encabezados de columna a los nombres de campo esperados que Word utiliza internamente, resolviendo cualquier problema de coincidencia de hoja de cálculo.
Usando campos de combinación individuales:
Para obtener control total sobre el diseño y formato, inserta campos de combinación uno a la vez. Posiciona tu cursor donde deseas un campo, luego haz clic en Insertar campos de combinación en el grupo de insertar campos. Un menú desplegable lista cada encabezado de columna de tu hoja de cálculo de Excel. Haz clic en el nombre del campo para insertarlo en la posición del cursor. Campos comunes para insertar incluyen:
- "Saludo" "Nombre" "Apellido" para la apertura del bloque de dirección
- "Empresa" en la línea debajo
- "Dirección" seguido de "Ciudad", "Estado" y "CódigoPostal" en la siguiente línea
- Una línea de saludo como "Estimado/a "Saludo" "Apellido","
Usando la línea de saludo:
Haz clic en elegir línea de saludo en la pestaña de Correspondencia para insertar un saludo preformateado. El cuadro de diálogo te permite elegir el formato de la línea de saludo (Estimado Sr. Smith, Estimado James, etc.) y configurar un respaldo para destinatarios cuyo campo de nombre esté vacío.
Siempre añade un espacio entre campos de combinación consecutivos manualmente. Word no añade espaciado entre campos automáticamente, así que ""Nombre""Apellido"" se mostrará como "JamesCarter" sin un carácter de espacio entre los dos campos.

Paso 5: Previsualiza resultados antes de completar la combinación
Después de insertar campos de combinación en tu documento, puedes previsualizar los resultados seleccionando Previsualizar resultados en la pestaña de Correspondencia, permitiéndote ver cómo aparecerán los datos combinados.
Haz clic en Previsualizar resultados en la pestaña de Correspondencia. Word reemplaza cada campo de combinación con los datos correspondientes de la primera fila de tu hoja de cálculo de Excel. Usa las flechas izquierda y derecha en el grupo de Previsualizar resultados para moverte entre los registros y comprobar que los datos de cada destinatario aparecen correctamente. Esto te permite verificar los detalles del destinatario correctamente antes de comprometerte con la combinación completa.
Verifica en particular:
- Que la línea de saludo se lea de forma natural ("Estimado Sr. Carter," no "Estimado Sr. Carter ,")
- Que el bloque de dirección se formatea correctamente en todas las filas, incluidas aquellas con nombres de empresa más largos
- Que los códigos postales y códigos ZIP se muestran con ceros a la izquierda donde sea aplicable
- Que el contador de registro actual en la parte superior de la página coincide con lo que esperas
Después de insertar campos de combinación en tu mensaje de correo electrónico o carta, puedes previsualizar los resultados para confirmar que el contenido aparece correctamente antes de completar el proceso de combinación. Usa las flechas izquierda y derecha para desplazarte por varios registros, no solo el primero.

Paso 6: Completa la combinación de correspondencia y extrae tus documentos
Con la previsualización confirmada, estás listo para ejecutar la combinación y producir la salida final.
Combinando en un documento nuevo (recomendado):
En la pestaña de Correspondencia, haz clic en el botón Finalizar y combinar, luego elige Editar Documentos Individuales desde la flecha desplegable. Un cuadro de diálogo pregunta si deseas combinar todos los registros, el registro actual o un rango. Selecciona Todos y haz clic en OK. Word genera un documento nuevo que contiene todos los documentos individuales como páginas separadas, una por destinatario. Este es el enfoque más seguro porque te permite revisar el documento combinado antes de imprimirlo o enviarlo.
Elige guardar después de revisar para mantener el documento combinado. También puedes elegir guardar usando Archivo > Guardar como para renombrarlo y almacenarlo junto a tu plantilla y fuente de datos.
Impresión directa:
Haz clic en Finalizar y combinar > Imprimir documentos para enviar los resultados de la combinación directamente a la impresora sin crear un archivo intermedio. Esto es útil cuando necesitas imprimir documentos inmediatamente y no necesitas revisar o archivar los documentos individuales primero.

Paso 7: Crea etiquetas de envío
El mismo proceso de combinación de correspondencia se aplica para crear etiquetas de envío usando una hoja de cálculo de Excel como la fuente de datos, siguiendo los mismos pasos utilizados para cartas.
- En la pestaña de Correspondencia, haz clic en Iniciar combinación de correspondencia > Etiquetas.
- En el cuadro de diálogo Opciones de etiqueta, elige tu proveedor de etiquetas y número de producto para que coincida con las hojas de etiquetas físicas en tu computadora.
- Haz clic en Seleccionar destinatarios > Usar una lista existente y vincúlate al mismo archivo de Excel.
- Haz clic en Insertar campos de combinación para colocar los campos de dirección en la etiqueta. Añade "Nombre", "Apellido", "Dirección", "Ciudad", "Estado>>, y "CódigoPostal" en líneas separadas dentro del área de etiquetas individuales.
- Haz clic en Actualizar etiquetas para copiar el diseño a todas las etiquetas en la página.
- Previsualiza, luego finaliza y combina para producir etiquetas individuales listas para imprimir.
Paso 8: Envía mensajes de correo electrónico vía combinación de correspondencia
La combinación de correspondencia también puede enviar mensajes de correo electrónico personalizados directamente desde Word a través de Microsoft Outlook.
Enviar correos electrónicos a través de la combinación de correspondencia requiere que Outlook esté abierto y configurado como el programa de correo electrónico predeterminado. Esto se aplica tanto a Outlook clásico como al nuevo Outlook. Asegúrate de que esto esté configurado antes de comenzar.
Al configurar una combinación de correo electrónico, asegúrate de que tu lista de correo incluya una columna para direcciones de correo electrónico, la cual se usará para enviar mensajes personalizados a cada destinatario. En la hoja de cálculo de demostración, esta es la columna EmailAddress.
- En la pestaña de Correspondencia, haz clic en Iniciar combinación de correspondencia > Mensajes de correo electrónico.
- Escribe el cuerpo de tu correo electrónico en el documento de Word, luego inserta campos de combinación para la línea de saludo y cualquier contenido personalizado exactamente como lo harías para una carta.
- Haz clic en Seleccionar destinatarios > Usar una lista existente y conéctate a tu archivo de Excel.
- Para personalizar los mensajes de correo electrónico usando la combinación de correspondencia, inserta campos de combinación en tu documento principal como nombres y direcciones, que serán reemplazados con los datos correspondientes de tu lista de correo.
- Haz clic en Finalizar y combinar > Enviar mensajes de correo electrónico.
- En el cuadro de diálogo, configura el campo Para en tu columna de direcciones de correo electrónico (EmailAddress), añade una línea de asunto y selecciona HTML como el formato de correo para mejor compatibilidad.
- Haz clic en Aceptar. Word envía un correo electrónico personalizado a cada destinatario a través de Outlook. Los contactos de Outlook también se pueden usar como una fuente de datos alternativa en lugar de una hoja de Excel si tu lista de contactos está almacenada allí.
Después de completar una combinación de correo electrónico, revisa la carpeta de Elementos Enviados de Outlook para confirmar que los mensajes fueron despachados. Cada correo electrónico en la lista aparece como un mensaje enviado separado, uno por destinatario.

Problemas Comunes y Solución de Problemas
Word no puede encontrar el archivo de Excel o devuelve un error al conectarse
Verifica que el archivo de Excel esté guardado y completamente cerrado antes de intentar enlazarlo en Word. Un libro de trabajo abierto con cambios no guardados puede bloquear la conexión. También confirma que el archivo esté guardado como .xlsx en lugar de .xls u otro formato.
Los códigos postales o códigos ZIP están perdiendo sus ceros a la izquierda
Esto ocurre cuando la columna ZipCode en Excel está formateada como número en lugar de texto. Abre la hoja de cálculo, selecciona la columna ZipCode, formateala como Texto, luego vuelve a ingresar cualquier valor que perdió sus ceros a la izquierda. Los archivos de Excel deben ser guardados y cerrados nuevamente antes de reconectarse en Word.
Los campos de combinación muestran códigos de campo en lugar de datos (por ejemplo, {MERGEFIELD FirstName})
Presiona Alt + F9 para alternar entre la visualización de códigos de campo y la visualización de resultados de campo en Word. Esta es una configuración de visualización que no afecta la combinación en sí.
El cuadro de diálogo de campos de coincidencia muestra campos no asignados
Esto ocurre cuando los nombres de tus columnas no coinciden con los nombres que Word espera para el bloque de dirección. Haz clic en Coincidir campos en la pestaña de Correspondencia y asigna manualmente cada nombre de columna al campo correspondiente de Word. Por ejemplo, asigna tu columna "ZipCode" al campo "Código postal" si Word no lo reconoce automáticamente.
Algunos destinatarios están ausentes del resultado de la combinación
Abre el panel de destinatarios de la combinación de correspondencia haciendo clic en elegir editar lista de destinatarios en la pestaña de Correspondencia. Verifica si alguna fila ha sido accidentalmente deseleccionada. También confirma que no haya filas en blanco dentro de tu rango de datos en la hoja de Excel, ya que estas pueden hacer que Word deje de leer las entradas de datos antes de alcanzar el final de la lista.
La combinación de correo electrónico envía pero los destinatarios no reciben los correos electrónicos
Confirma que Outlook esté abierto y configurado como el programa de correo electrónico predeterminado antes de ejecutar la combinación. Revisa la carpeta de Elementos Enviados de Outlook para ver si los mensajes fueron despachados. Si estás usando el nuevo Outlook, ten en cuenta que algunas versiones tienen soporte limitado para la combinación de correo electrónico en comparación con el Outlook clásico.
Referencia rápida: Combinación de correspondencia de Excel a Word
| Tarea | Dónde encontrarlo | Notas |
|---|---|---|
| Iniciar combinación de correspondencia | Pestaña de Correspondencia > Iniciar combinación de correspondencia | Elegir Cartas, Etiquetas o Mensajes de correo electrónico |
| Conectar archivo de Excel | Seleccionar destinatarios > Usar una lista existente | El archivo debe ser guardado y cerrado |
| Añadir bloque de dirección | Grupo de insertar campos > Bloque de dirección | Usar Coincidir Campos para mapeo de columnas |
| Insertar campos individuales | Grupo de insertar campos > Insertar campos de combinación | Un campo por nombre de campo de combinación |
| Añadir línea de saludo | Pestaña de Correspondencia > Línea de saludo | Elegir formato de línea de saludo en el cuadro de diálogo |
| Previsualizar combinación | Pestaña de Correspondencia > Previsualizar resultados | Usar flechas izquierda y derecha para comprobar registros |
| Completar la combinación a archivo | Finalizar y combinar > Editar documentos individuales | Crea documento nuevo con todas las páginas |
| Imprimir documentos | Finalizar y combinar > Imprimir documentos | Envia directamente a la impresora |
| Enviar mensajes de correo electrónico | Finalizar y combinar > Enviar mensajes de correo electrónico | Requiere Outlook como programa de correo electrónico predeterminado |
| Editar lista de destinatarios | Elegir editar lista de destinatarios | Filtrar, ordenar o deseleccionar filas |
Para desarrolladores: Construir y validar datos de combinación de correspondencia de Excel con IronXL
Si tu aplicación genera la fuente de datos de Excel que alimenta un proceso de combinación de correspondencia, la calidad y formato de ese archivo determina directamente si la combinación tiene éxito. IronXL es una biblioteca de .NET que permite a los desarrolladores de C# crear, leer y formatear archivos de Excel programáticamente sin requerir que Microsoft Office esté instalado en el servidor o máquina del desarrollador.
Los puntos de falla más comunes en los archivos de datos de combinación de correspondencia son encabezados faltantes, celdas combinadas, códigos postales mal tipificados y filas en blanco dentro del rango de datos. IronXL te da control programático completo sobre cada celda, formato de columna y tipo de dato antes de que el archivo sea entregado a Word, eliminando estos problemas de raíz.
Aquí se explica cómo crear un archivo de Excel de lista de correo correctamente estructurada usando IronXL, con todos los encabezados de columna en la primera fila de la Hoja 1 y la columna ZipCode formateada 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")
Para leer y validar un archivo de Excel existente antes de conectarlo a un flujo de trabajo de combinación de correspondencia, IronXL facilita la comprobación de la estructura 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
IronXL funciona en .NET 6 y versiones posteriores, y es totalmente compatible con Windows, Linux, macOS, Docker y Azure, lo que lo hace adecuado para generar archivos de datos de combinación de correspondencia desde aplicaciones del lado del servidor, trabajos programados o APIs web sin ninguna dependencia de Microsoft Office.
Para comenzar: Instala a través de NuGet con Install-Package IronXL.Excel. Un prueba gratuita está disponible con 30 días de funcionalidad completa y sin necesidad de tarjeta de crédito.
Lecturas adicionales:
Resumen
Ejecutar una combinación de correspondencia de palabra desde una hoja de cálculo de Excel es una de las formas más confiables de producir cartas, etiquetas de correo y mensajes de correo electrónico personalizados a gran escala. El proceso se reduce a tres pasos fundamentales: construir una lista de correo limpia en Excel con datos formateados correctamente en la primera hoja, conectar ese archivo a Word a través de la pestaña de Correspondencia utilizando Usar una lista existente, y colocar campos de combinación precisamente donde cada pieza de datos de destinatario debe aparecer.
Una vez que la fuente de datos está conectada, el grupo de insertar campos y las herramientas de bloque de dirección en Word manejan la parte pesada. Previsualiza los resultados con flechas izquierda y derecha antes de terminar la combinación para detectar cualquier problema de formato, campos desalineados o códigos postales faltantes antes de que lleguen a un destinatario. Una vez que se completa la combinación de correspondencia, puedes elegir guardar el documento combinado, que retiene la conexión con la fuente de datos, permitiendo su uso futuro sin necesidad de reconectar.
Para equipos de desarrollo cuyas aplicaciones generan o transforman los datos de Excel que alimentan un flujo de trabajo de combinación de correspondencia, IronXL proporciona una API limpia para crear archivos de hoja de cálculo correctamente estructurados y formateados adecuadamente en .NET sin dependencias de Office. Comienza con una prueba gratuita para explorar el conjunto completo de funciones en tu propio entorno.
¿Preguntas sobre un escenario específico de combinación de correspondencia o un paso que no funcionó como se esperaba? Deja un comentario a continuación, o visita el blog de Iron Software para obtener más ayuda con la automatización de Excel, el formato de datos y la generación de documentos.




