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

Problemas en importar excel a datagridview

Estas en el tema de Problemas en importar excel a datagridview en el foro de .NET en Foros del Web. Bueno el tema es el siguiente, tengo unas planillas excel con 4 columnas:codigo,detalle,marca,precio... El codigo puede ser todo letras,todo numeros o conbicacion... el tema es ...
  #1 (permalink)  
Antiguo 28/02/2015, 22:03
 
Fecha de Ingreso: febrero-2015
Mensajes: 1
Antigüedad: 9 años, 2 meses
Puntos: 0
Problemas en importar excel a datagridview

Bueno el tema es el siguiente, tengo unas planillas excel con 4 columnas:codigo,detalle,marca,precio...
El codigo puede ser todo letras,todo numeros o conbicacion...
el tema es que cuando yo cargo la plantilla excel para que me importe los datos, me carga todo pero si por ejemplo si tengo mas codigo que sea letras que los codigos que son numeros, las celdas de la columna codigo que son solo numeros me las deja en blanco, como si fuera que trae lo q es la mayoria, si es mayor la cantidad de codigo en solo numeros, trae eso y los que son solo letras y mixtos no los trae...
probe con ir depurando paso a paso y me di cuenta q no es el datagrid, sino que ya cuando lo trae al dataset ya ahi esta llegando con la celda vacia en algunos casos, ensima es solo esa celda porq la fila me la trae pero sin el codigo..
aca les dejo parte del codigo:

Código c#:
Ver original
  1. private void LLenarGrid(string archivo, string hoja)
  2.         {
  3.             //declaramos las variables        
  4.             OleDbConnection conexion = null;
  5.  
  6.             OleDbDataAdapter dataAdapter = null;
  7.             string consultaHojaExcel = "Select * from [" + hoja + "$]";
  8.  
  9.             //esta cadena es para archivos excel 2007 y 2010
  10.             //string cadenaConexionArchivoExcel = "provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + archivo + "';Extended Properties=Excel 12.0;";
  11.  
  12.             //para archivos de 97-2003 usar la siguiente cadena
  13.             string cadenaConexionArchivoExcel = "provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + archivo + "';Extended Properties=Excel 8.0;";
  14.  
  15.             //Validamos que el usuario ingrese el nombre de la hoja del archivo de excel a leer
  16.             if (string.IsNullOrEmpty(hoja))
  17.             {
  18.                 MessageBox.Show("No hay una hoja excel para leer");
  19.             }
  20.             else
  21.             {
  22.                 try
  23.                 {
  24.                     //Si el usuario escribio el nombre de la hoja se procedera con la busqueda
  25.                     conexion = new OleDbConnection(cadenaConexionArchivoExcel);//creamos la conexion con la hoja de excel
  26.                     conexion.Open(); //abrimos la conexion
  27.                     dataAdapter = new OleDbDataAdapter(consultaHojaExcel, conexion); //traemos los datos de la hoja y las guardamos en un dataSdapter
  28.                     dataSet = new DataSet(); // creamos la instancia del objeto DataSet
  29.                     dataAdapter.Fill(dataSet, hoja);//llenamos el dataset
  30.                     dataGridView1.DataSource = dataSet.Tables[0]; //le asignamos al DataGridView el contenido del dataSet
  31.                     conexion.Close();//cerramos la conexion
  32.                     dataGridView1.AllowUserToAddRows = false;       //eliminamos la ultima fila del datagridview que se autoagrega
  33.                 }
  34.                 catch (Exception ex)
  35.                 {
  36.                     //en caso de haber una excepcion que nos mande un mensaje de error
  37.                     MessageBox.Show("Error, Verificar el archivo o el nombre de la hoja", ex.Message);
  38.                 }
  39.             }
  40.         }
  41.  
  42.         public List<string> ObtenerHojas(string archivo)
  43.         {
  44.             string nombre = archivo;
  45.  
  46.             var excel = new Excel.Application();
  47.             Excel.Workbook libro = excel.Workbooks.Open(nombre);
  48.  
  49.             List<string> listas = new List<string>();
  50.  
  51.             foreach (Microsoft.Office.Interop.Excel.Worksheet item in libro.Sheets)
  52.             {
  53.                 listas.Add(item.Name);
  54.             }
  55.  
  56.             return listas;
  57.         }


Por favor ayudaaaaaaaaaaaaaaaa

Última edición por razpeitia; 28/02/2015 a las 22:24

Etiquetas: c-c++, datagridview, excel, numero
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 20:57.