IRONSOFTWAREHOME
USANDO IRONXL

Cómo exportar DataGridView a Excel en C#

Curtis Chau
Curtis Chau
Updated: 28 de junio de 2026

Este tutorial proporciona una guía completa sobre cómo exportar datos desde un DataGridView control en una aplicación Windows Forms a un archivo Excel usando la biblioteca IronXL en C#. Nos centraremos en crear una experiencia fluida para principiantes que buscan integrar la funcionalidad de Microsoft Excel en sus proyectos C#.

How to Export DataGridView to Excel in C#

  1. Cree un proyecto de Windows Forms en C# en Visual Studio.
  2. Instale la biblioteca de Excel usando el Administrador de paquetes NuGet.
  3. Cree un DataGridView y un botón en la interfaz de usuario de Windows Form.
  4. Vincule una fuente de datos al DataGridView.
  5. Aplique la lógica de exportación de datos en el controlador de eventos del botón.

Introducción a IronXL

IronXL es una biblioteca robusta que simplifica el proceso de trabajar con documentos de Excel en aplicaciones del .NET Framework. Permite exportar archivos de Excel grandes, manejar fuentes de datos complejas y proporciona un soporte extenso para la manipulación de archivos de Excel en .NET sin necesidad de tener la biblioteca de objetos de Microsoft Excel. Vamos a configurar nuestro proyecto.

Configuración de su proyecto

1. Crear una nueva aplicación de Windows Forms

Abra Visual Studio y cree una nueva aplicación de Windows Forms. Esta será la base de nuestro proyecto donde implementaremos la funcionalidad para exportar datos de DataGridView a un archivo de Excel.

Cómo exportar DataGridView a Excel en C#: Figura 1 - Creando una nueva aplicación Windows Forms en Visual Studio

2. Instalar IronXL

IronXL se puede agregar fácilmente a su proyecto. En Visual Studio, navegue a la opción 'Administrar paquetes NuGet', busque IronXL e instálelo. Esta acción manejará todas las dependencias necesarias para exportar DataGridView a Excel en C#.

Cómo exportar DataGridView a Excel en C#: Figura 2 - Instalando la biblioteca IronXL a través del Administrador de paquetes NuGet

3. Preparar la interfaz de usuario

Agregue un control DataGridView a su formulario. Este control contendrá los datos que pretendemos exportar. Además, agregue un botón para iniciar el proceso de exportación. Puede etiquetarlo como 'Exportar a Excel' o algo similar.

Implementación de la funcionalidad de exportación

En esta sección, enseñaremos los detalles específicos de cómo programar la funcionalidad que le permite exportar datos de un DataGridView en una aplicación de Windows Forms a un documento de Excel usando IronXL.

Construyendo la aplicación

Primero, necesita agregar un control DataGridView a su formulario. Este control es el componente principal donde se mostrarán sus datos antes de ser exportados. Puede agregarlo fácilmente arrastrando un DataGridView desde la barra de herramientas de Visual Studio a su formulario. También podemos agregar un botón para exportar datos de DataGridView a archivos de Excel.

Cómo exportar DataGridView a Excel en C#: Figura 3 - Añadiendo un botón para exportar datos de DataGridView a un archivo Excel

El siguiente paso es cargar los datos en el DataGridView. Estos datos podrían provenir de varias fuentes, como un DataTable o un DataSet. Si estás comenzando, podrías querer crear un nuevo DataSet o DataTable programáticamente y llenarlo con datos de muestra para ver cómo funciona. Alternativamente, puede importar datos de una fuente externa. La clave aquí es vincular su fuente de datos al DataGridView, lo que vincula efectivamente sus datos a la cuadrícula. Una vez que sus datos estén vinculados al DataGridView, los verá mostrado en la cuadrícula en su formulario.

private void BindDataToDataGridView()
{
    // Create a new DataTable.
    DataTable dataTable = new DataTable();
    // Define columns for the DataTable.
    dataTable.Columns.Add("Employee ID", typeof(int));
    dataTable.Columns.Add("Name", typeof(string));
    dataTable.Columns.Add("Department", typeof(string));
    dataTable.Columns.Add("Joining Date", typeof(DateTime));
    // Add sample data to the DataTable.
    for (int i = 1; i <= 25; i++)
    {
        dataTable.Rows.Add(i, "Employee " + i, "Department " + (i % 5 + 1), DateTime.Now.AddDays(-i * 15));
    }
    // Bind the DataTable to the DataGridView.
    dataGridView1.DataSource = dataTable;
}

Manejo del evento de clic del botón

Nuestro punto principal de interacción con el usuario será un botón dentro de nuestro formulario de Windows. Este botón, al ser clicado, inicia el proceso de exportación. Así es como configura esta interacción:

  • En su formulario de Windows, debe tener un botón dedicado a exportar los datos de DataGridView.
  • Este botón tiene un método de controlador de eventos en su código C#. Este método se activa cuando el usuario hace clic en el botón.
private void btnExport_Click(object sender, EventArgs e)
{
    // Code to export data will go here
}

Exportación de datos desde DataGridView

Para exportar los datos de DataGridView, primero necesitamos hacer referencia al espacio de nombres IronXL:

using IronXL;

Dentro del controlador de eventos, el primer paso es inicializar un nuevo libro de trabajo y hoja de trabajo usando IronXL. Aquí es donde nuestro datos del DataGridView serán transferidos.

  • Un objeto WorkBook representa todo el archivo Excel.
  • Un WorkSheet dentro del libro es como una página individual o pestaña en un archivo Excel.

Aquí, creamos un libro de trabajo y luego agregamos una hoja de trabajo. La hoja de trabajo se llama "ExportedData", pero puede elegir cualquier nombre que se adapte al contexto de su aplicación.

WorkBook workbook = WorkBook.Create();
WorkSheet worksheet = workbook.CreateWorkSheet("ExportedData");

Cómo rellenar la hoja de Excel

El siguiente paso implica iterar a través de las filas y columnas de su DataGridView y copiar los datos de cada celda en la celda correspondiente en la hoja de cálculo de Excel.

  • El bucle externo avanza a través de cada fila, mientras que el bucle interno recorre cada columna dentro de la fila respectiva.
  • Asignamos el valor de cada celda en el DataGridView a la celda correspondiente en la hoja de cálculo de Excel. Esto se realiza utilizando los índices i (para filas) y j (para columnas).
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
    for (int j = 0; j < dataGridView1.Columns.Count; j++)
    {
        // Convert row and column index to Excel cell address format
        string cellAddress = ConvertToCellAddress(i, j);
        worksheet[cellAddress].Value = dataGridView1.Rows[i].Cells[j].Value.ToString();
    }
}

Para convertir los índices de fila y columna a una dirección de celda de Excel, puede usar un método auxiliar como este:

private string ConvertToCellAddress(int row, int column)
{
    // Columns in Excel are labeled as A, B, C, ..., Z, AA, AB, ..., etc.
    // The following code converts a column index to this format.
    string columnLabel = "";
    while (column >= 0)
    {
        columnLabel = (char)('A' + column % 26) + columnLabel;
        column = column / 26 - 1;
    }
    // Rows in Excel are labeled as 1, 2, 3, ..., n
    // Adding 1 because Excel is 1-based and our loop is 0-based.
    string rowLabel = (row + 1).ToString();
    return columnLabel + rowLabel;
}

Guardar el archivo de Excel

Una vez que todos los datos se transfieren, el siguiente paso es guardar este libro de trabajo como un archivo de Excel. Este paso crea un archivo de Excel en su sistema en la ruta especificada.

workbook.SaveAs("DataGridViewExport.xlsx");
MessageBox.Show("Data exported successfully!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);

Manejo de errores

En cualquier proceso de exportación de datos, manejar excepciones es vital para asegurar la estabilidad de la aplicación. Envolver la lógica de exportación en un bloque try-catch garantiza que cualquier problema durante la exportación (como permisos de acceso de archivos, problemas de formato de datos, etc.) se capture y maneje adecuadamente.

try
{
    // Export logic
}
catch (Exception ex)
{
    MessageBox.Show("An exception occurred: " + ex.Message);
}

Resultado

Una vez que ejecutamos el programa, esta interfaz se mostrará:

Cómo exportar DataGridView a Excel en C#: Figura 4 - Formulario de salida del código anterior

Aquí puede ver que los datos se muestran en el DataGridView. Ahora, haga clic en el botón de Exportar. Exportará los datos del DataGridView al archivo de Excel.

Cómo exportar DataGridView a Excel en C#: Figura 5 - Mensaje de exportación exitosa

Aquí, puede ver que aparece un cuadro de mensaje y los datos se exportan al archivo de Excel. Aquí está el archivo de Excel de salida:

Cómo exportar DataGridView a Excel en C#: Figura 6 - El archivo Excel de salida de la exportación del formulario anterior

Conclusión

Siguiendo esta guía, ahora tiene una herramienta básica pero poderosa para exportar datos de DataGridView a un archivo de Excel usando C# y IronXL. Esta funcionalidad es crucial para aplicaciones que requieren análisis de datos, informes o simplemente transferir datos entre diferentes formatos. Recuerde, experimentar con diferentes características del control DataGridView y la biblioteca IronXL puede llevar a implementaciones más personalizadas y avanzadas.

IronXL ofrece una prueba gratuita que puede usar para explorar sus características. La licencia comienza desde $999, que es una inversión que vale la pena para profesionales y organizaciones que buscan una solución confiable y eficiente para la manipulación de archivos de Excel en aplicaciones .NET.

Su viaje no termina aquí. Sigue explorando más características de IronXL y otras formas de mejorar sus aplicaciones de Windows Forms. ¡Feliz programación!

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta