Exportar datos de un gridview A Excel, Lenguaje C#


Hola Muchachos Esta Vez Les Explicare Como Exportar Datos de un gridview a excel
..Tener en cuenta El Microsoft.Office.Interop.Excel.dll ya que lo vamos a necesitar , Lo pueden buscar y  descargar en el siguiente enlace:
http://www.dll-files.com
una vez descargada irse a proyecto/agregar referencia / examinar / Y buscan el dll y cuando la hallan agregado dan doble click en el form
y agregan la libreria:

using Microsoft.Office.Interop.Excel; 


Requisitos:
+1 bottom
+ 1 dataGridview
//En El Boton llamamos a la funcion la cual se encargara de realizar la exportacion  de los datos y demas

 private void button1_Click(object sender, EventArgs e)
        {
            exporta_a_excel();
        }
       Esta Es La funcion
        public void exporta_a_excel()
        {
            //creamos un objeto de tipo Excel sobre le cual vamos a trabajar (solo si ya agregamos la  referencia y la libreria) 
            Microsoft.Office.Interop.Excel.ApplicationClass excel = new ApplicationClass();
            //agregamos un nuevo libro a nuestro objeto excel
            excel.Application.Workbooks.Add(true);
            //contador para las columnas
            int ColumnIndex = 0;
            //este ciclo es para saber cuantas columnas y que nombre de encabezado tiene nuestro grid e irlas agregando a nuestro objeto excel
            foreach (DataGridViewColumn col in dataGridView1.Columns)
            {
                //aumentamos la variable de uno en uno por cada columna en el grid
                ColumnIndex++;
             //agregamos una nueva celda con el nombre de la columna para tener el encabezado de nuestra tabla de registro:
            //ejemplo:
                /*
                 * Nombre | apellido | direccion | telefono
                 * 
                 * y de esta forma copiamos el encabezado de nuestro data grid a nuestro objeto de escel
                 * */
                excel.Cells[1, ColumnIndex] = col.Name;
            }
            //variable para saber el numero de renglones
            int rowIndex = 0;
            //recorremos el grid cumpliedo la condicion del foreach que por cada renglon que halla en el grid hara lo que esta dentro del ciclo
            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                //aumentamos el numero del renglon
                rowIndex++;
                //el numero de columnas lo regresamos a cero
                ColumnIndex = 0;
                //en este ciclo recorremos cada columna del renglon en el que estamos trabajando, el recorrido es simple es recorrer una matriz
                foreach (DataGridViewColumn col in dataGridView1.Columns)
                {
                    //aumentamos la columna
                    ColumnIndex++;
                    //agregamos el valor contenido en determinada posicion del grid a nuestro objeto de excel.
                    /*
                     ejemplo: excel.cell[0+1,1]= row.cell["Nombre].value"
                     * 
                     * 
                     */
                    excel.Cells[rowIndex + 1, ColumnIndex] = row.Cells[col.Name].Value;
                    //vamos a ir recorriendo todas las columnas, renglon por renglon hasta terminar los renglones que tenga nuestro grid
                }
            }
            //finalmente mostramos en pantalla nuestro archivo de excel listo para ser guardado.
            excel.Visible = true;
            //habilitamos una hoja
            Worksheet worksheet = (Worksheet)excel.ActiveSheet;
        }
Y Eso Fue todo chicos espero que les haya gustado Pueden mejorar el codigo si desean =D, Ya Saben Puntos y siganme jajaja..Seguire subiendo mas codigo para poderlos ayudar.Hasta Luego:up:
Exportar datos de un gridview A Excel, Lenguaje C#
10 Puntos Score: 10/10
Visitas: 3395 Favoritos: 4
Ver los usuarios que votaron...
4 Comentarios Exportar datos de un gridview A Excel, Lenguaje C#
WHOA amigo, sigue asi, yo me encargare de darte puntos si te creas una cominidad para compartir tus conocimientos de programacion se te agradecera, te dejo +10. y mas porque es de C#
gracias buen aporte, pero funcionaria para un gridview, en el foreach como se recorreria las columas
For Each col As DataGridViewColumn In (NombreDelGrid).Columns

Next
Esto en vb, pasalo a C#
Pero esta mal la categor?
Para dejar un comentario Registrate! o.. eres ya usuario? Accede!