Para el llenado del
DataGridView utilizaremos en código de
http://vbpuntonet.blogspot.mx/2012/06/llenar-un-datatable-manualmente-y.html
Agregaremos la referencia:
Imports Microsoft.Office.Interop
Copiamos el siguiente código que creara el archivo de Excel con la información del
DataGridView:
Por último creamos el botón que llamara la función:
20 Comentarios
Hola! Me funciona perfecto el código, pero una pregunta: Como le hago para que en el excel generado, en lugar de colocar los títulos de las columnas del Access, me coloque los del DataGridView?
ResponderBorrarEn el primer FOR deberás agregar el midatagridview.headtext, no recuerdo la sintaxis, pero con esto tendrás una idea.
BorrarSaludos
Me sirvió! Gracias por el aporte
ResponderBorrarExcelente, saludos.
Borrarhola, una consulta, ¿Dónde queda guardado el archivo de Excel? porque no lo encuentro
ResponderBorrarPor default en "Descargas" o la carpetas que tengas como predeterminada para descargar.
BorrarPero me parece que el ejemplo te abre el archivo en Excel de forma inmediata solo para que indiques donde guardarlo.
Que significa esto?
BorrarNo se puede convertir el objeto COM del tipo 'Microsoft.Office.Interop.Excel.ApplicationClass' al tipo de interfaz 'Microsoft.Office.Interop.Excel._Application'.
Ocurrió un error de operación debido a que la llamada QueryInterface en el componente COM para la interfaz con IID '{000208D5-0000-0000-C000-000000000046}' generó el siguiente error:
No se ha encontrado el elemento.
(Excepción de HRESULT: 0x8002802B (TYPE_E_ELEMENTNOTFOUND)).
Al parecer es un problema de actualización de office, revisa el siguiente link:
Borrarhttps://social.msdn.microsoft.com/Forums/es-ES/bb73bf84-88bd-4fa0-bab9-c03d27801996/problema-con-librera-que-ha-funcionado-hasta-ahora?forum=vsgenerales
GRACIAS ME HA SERVIDO, ES EXELENTE SIGUE CONTRIBUYENDO A LA COMUNIDAD DE ESTUDIANTES. TE AGRADESCO
ResponderBorrarUn gusto poderte ayudar.
BorrarSaludos
Muchas gracias. Me funciono a la perfeccion y me sirvio de mucho.
ResponderBorrarNota: hay que agregar en el proyecto la referencia .NET/Microsoft.Office.Interop.Excel para que acepte la libreria arriba descrita.
Un gusto poderte ayudar, agregare a la publicación tu nota. Saludos
Borrarhola que tal . me funciono perfecto el único problema es que tarda demasiado cuando tengo mas de miles de registro
ResponderBorrarSi necesitas exportar miles de registros, te recomiendo que lo exportes a un archivo XML, te dejo el link, saludos.
Borrarhttps://vbpuntonet.blogspot.com/2018/03/exportar-datagridview-xml.html
Gracias master me ayudaste mucho, sos un crack.
ResponderBorrarUn gusto poderte ayudar. Saludos
BorrarExcelente aporte amigo, me podrías ayudar usando el código que muestras puedo convertir la info del datagridview a excel, pero el campo fecha que tengo me cambia el formato de presentación, en el datagridview esta así "10/01/2023" pero al momento de pasarlo a excel lo muestra "01/10/2023", ya intente con Format(fecha,"dd/MM/yyyy"), pero no funciona, como se podra hacer para que se quede el mismo formato que el datagridview?
ResponderBorrarIntenta con Date.Parse(fecha).Date.ToString("yyyy/MM/dd")
BorrarBuenas tardes, tengo un campo de DOI, algunos comienzan con CERO, pero al momento de exportar el excel, lo elimina. Cómo puedo dar solución?
ResponderBorrarTendrás que saber que columna en el DataGridView contiene el campo con los ceros a la izquierda, y dentro del 3er. FOR agregar algo parecido a:
BorrarIf Col = 2 then
Dim v_campo as string = miDataGridView.Rom(Fila).Cells(Col).Value
End if
donde Col=2 es el campo con los ceros y al agregar:
exHoja.Cells.Item(Fila+2, Col+1) = v_campo
Para que guarder el valor sin cambiar el formato, algo así te podría servir, no le he ejecutado, pero en teoria debe servir.
Saludos