ATENCIÓN AL CLIENTE: +34 923 199 148

Exportar datos de un DataGridView a un fichero Excel en C#

[publicidad_anunciod]

En el siguiente código veremos cómo exportar el contenido de un DataGridView a un fichero Excel con WindowsForms usando C#.

Inicialmente tendremos que añadir la siguiente referencia al proyecto de tipo COM:
Microsoft Excel 12.0 Object Library

Para poder añadir la referencia anterior, tenemos que tener instalado previamente en nuestro sistema el Microsoft Excel.

El método nos preguntará por la ruta donde queremos almacenar el fichero en el disco mediante un objeto del tipo SaveFileDialog.

El código del método que rellena el documento excel es el siguiente:

/// <summary>
/// Método que exporta a un fichero Excel el contenido de un DataGridView
/// </summary>
/// <param name="grd">DataGridView que contiene los datos a exportar</param>
private void ExportarDataGridViewExcel(DataGridView grd)
{
    SaveFileDialog fichero = new SaveFileDialog();
    fichero.Filter = "Excel (*.xls)|*.xls";
    if (fichero.ShowDialog() == DialogResult.OK)
    {
        Microsoft.Office.Interop.Excel.Application aplicacion;
        Microsoft.Office.Interop.Excel.Workbook libros_trabajo;
        Microsoft.Office.Interop.Excel.Worksheet hoja_trabajo;
        aplicacion = new Microsoft.Office.Interop.Excel.Application();
        libros_trabajo = aplicacion.Workbooks.Add();
        hoja_trabajo =
            (Microsoft.Office.Interop.Excel.Worksheet)libros_trabajo.Worksheets.get_Item(1);
        //Recorremos el DataGridView rellenando la hoja de trabajo
        for (int i = 0; i < grd.Rows.Count - 1; i++)
        {
            for (int j = 0; j < grd.Columns.Count; j++)
            {
                hoja_trabajo.Cells[i + 1, j + 1] = grd.Rows[i].Cells[j].Value.ToString();
            }
        }
        libros_trabajo.SaveAs(fichero.FileName,
            Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal);
        libros_trabajo.Close(true);
        aplicacion.Quit();
    }
}

Quizá te interese...

Deja un comentario...

Suscribirme
Notificación de
guest
0 Comentarios
Comentarios en línea
Ver todos los comentarios