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
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:
///
/// Método que exporta a un fichero Excel el contenido de un DataGridView
///
/// Método que exporta a un fichero Excel el contenido de un DataGridView
///
/// DataGridView que contiene los datos a exportar
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();
}
}
No hay comentarios:
Publicar un comentario