Foros del Web » Programación para mayores de 30 ;) » .NET »

Importar Excel a DataGrid

Estas en el tema de Importar Excel a DataGrid en el foro de .NET en Foros del Web. Buenas, Estoy empezando con c# y llevo un par de dias clavado con esto. Necesito visualizar los datos de un excel en un DataGridView. El ...
  #1 (permalink)  
Antiguo 27/12/2009, 05:32
 
Fecha de Ingreso: diciembre-2007
Mensajes: 10
Antigüedad: 16 años, 4 meses
Puntos: 0
Importar Excel a DataGrid

Buenas,

Estoy empezando con c# y llevo un par de dias clavado con esto. Necesito visualizar los datos de un excel en un DataGridView. El numero de celdas son iguales tanto en el excel como en el DataGridView, pero no se como hacer para, mediante un boton, abrir un determinado excel y visualizarlo.

Gracias!
  #2 (permalink)  
Antiguo 28/12/2009, 12:52
Avatar de pyroCL  
Fecha de Ingreso: marzo-2009
Ubicación: C#
Mensajes: 261
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Importar Excel a DataGrid

Debes crear una conexion, utilizando excel como si fuera una BD.
Para esto utiliza
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="RUTA "; Extended Properties= Excel 8.0;"

Con esta conexion, ya es fácil cargar el resultado en un dataset, utilizando un dataAdapter.
Y luego con el dataset cargado lo puedes visualizar en tu DataGridView.

Saludos.
__________________
La verdadera sabiduría está en reconocer la propia ignorancia.
  #3 (permalink)  
Antiguo 28/12/2009, 17:24
 
Fecha de Ingreso: diciembre-2007
Mensajes: 10
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Importar Excel a DataGrid

Muchas gracias, provanding...
  #4 (permalink)  
Antiguo 29/12/2009, 05:28
 
Fecha de Ingreso: diciembre-2007
Mensajes: 10
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Importar Excel a DataGrid

Bueno, al final lo he hecho de una forma un poca mas "rustica",

Código:
if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {


                Microsoft.Office.Interop.Excel.Application xlApp;
                Microsoft.Office.Interop.Excel.Workbook xlWorkBook;
                Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
                object misValue = System.Reflection.Missing.Value;

                xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
                xlWorkBook = xlApp.Workbooks.Open(openFileDialog1.FileName, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
                xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);



                //damos valores a los datagridview
                //matriz de terminosFuente 
                for (int j = 0; j < numericUpDownTerminosFuente.Value; j++)
                {

                    for (int i = 0; i < numericUpDownEspecies.Value; i++)
                    {
                        Excel.Range rg = (Excel.Range)xlWorkSheet.Cells[j + 2,i + 2 ];
                                                
                        dataGridView1[i, j].Value = rg.Value;
                    }
                }                
              }
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:37.