🎓 Cursos confirmados con 50% OFF hoy para lectores del blog:
-
💬 Diplomado .NET Empresarial Desde Cero
· Inicia 26 Sep · sabatino ·
$39,990$19,995 (-50%) MXN -
💬 Visual Studio .NET Desde Cero
· Inicia 26 Sep · sabatino ·
$12,250$6,125 (-50%) MXN -
💬 Consultor AWS Despliegue de Apps
· Inicia 28 Sep · lunes - jueves ·
$8,130$4,065 (-50%) MXN
Por WhatsApp en horario habil · ver todos los cursos → · ⭐ Opiniones en Google
¿Estas desarrollando en C# y necesitas exportar información de un datagirdview a excel? Este post es para ti! Hoy vamos a ver precisamente como exportar la información de un datagridview a excel en este lenguaje de programación, veremos cómo importar las referencias necesarias y la función para implementar este funcionamiento en nuestro proyecto.
Recientemente he estado trabajando algo de tiempo con Visual Studio y C# para un proyecto de un cliente.
Realmente hace ya tiempo que no trabajaba en este lenguaje aunque si con Java que es bastante similar.
Aprovechando esto decidi hacer un pequeño post sobre como exportar la información de un datagridview a Excel, dado que el uso de datagridview en este ambiente es muy común.
Antes de comenzar mencionar que para este funcionamiento necesitaremos incluir en nuestro proyecto la referencia o libreria necesaria de Microsoft Excel.
AGREGAR LA REFERENCIA DE EXCEL
Para hacer esto vamos a nuestro explorador de soluciones.
Dentro de nuestro proyecto vamos a Referencias.
Clic derecho en Referencias y Agregar Referencia.
En la parte superior derecha buscamos «Excel».
Agregar Microsoft.Office.Interop.Excel a nuestro proyecto.
Con esto ya podremos implementar la funcionalidad y solo será necesario el codigo para hacerlo.
FUNCIÓN PARA EXPORTAR LA INFORMACIÓN DE UN DATAGRIDVIEW A EXCEL
Imaginemos que tenemos nuestro DataGridView en nuestra aplicación ya con información.
Supongamos que agregamos un boton arriba de nuestra tabla para la función de Exportar a Excel.
Dentro de este botón simplemente llamamos a la función ExportarExcel();
Esta función lucirá así:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
public void ExportarExcel()
{
Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing);
Microsoft.Office.Interop.Excel._Worksheet worksheet = null;
app.Visible = false;
worksheet = workbook.Sheets[«Hoja1»];
worksheet = workbook.ActiveSheet;
worksheet.Name = «Usuarios»;
// Cabeceras
for (int i = 1; i < dgv_usuarios.Columns.Count + 1; i++)
{
if (i > 1 && i < dgv_usuarios.Columns.Count)
{
worksheet.Cells[1, i] = dgv_usuarios.Columns[i – 1].HeaderText;
}
}
// Valores
for (int i = 0; i < dgv_usuarios.Rows.Count – 1; i++)
{
for (int j = 0; j < dgv_usuarios.Columns.Count; j++)
{
if (j > 0 && j < dgv_usuarios.Columns.Count – 1)
{
worksheet.Cells[i + 2, j + 1] = dgv_usuarios.Rows[i].Cells[j].Value.ToString();
}
}
}
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = «Archivos de Excel|*.xlsx»;
saveFileDialog.Title = «Guardar archivo»;
saveFileDialog.FileName = «NombredeArchivoDefault»;
saveFileDialog.ShowDialog();
if (saveFileDialog.FileName != «»)
{
Console.WriteLine(«Ruta en: «+saveFileDialog.FileName);
workbook.SaveAs(saveFileDialog.FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
app.Quit();
}
}
|
Como puedes observar al final hemos incluido la funcionalidad de que pregunte al usuario donde desea guardar la información, esto lo hemos hecho con SaveFileDialog.
Espero que este pequeño tutorial y codigo fuente sea de tu utilidad para que puedas implementar la funcionalidad de exportar la información de un datagridview a excelpara todos tus proyectos que asi lo requieras.
💼 Empleos tech relacionados:
- Full Stack Engineer · Tavant
- ingeniero en sistemas · Corporativo de Hospitales SA de CV
3,284 vacantes activas en LATAM · ver todas → · ⭐ Opiniones en Google





Excelente codigo!. Hice con él una clase y retoqué un poco para que salgan la primer y ultima columna. Muchas gracias.
Hola Marcelo muchas gracias por leernos y compartir tu opinión ?