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
private void LLenarGrid(string archivo, string hoja) { //declaramos las variables OleDbConnection conexion = null; OleDbDataAdapter dataAdapter = null; string consultaHojaExcel = "Select * from [" + hoja + "$]"; //esta cadena es para archivos excel 2007 y 2010 //string cadenaConexionArchivoExcel = "provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + archivo + "';Extended Properties=Excel 12.0;"; //para archivos de 97-2003 usar la siguiente cadena string cadenaConexionArchivoExcel = "provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + archivo + "';Extended Properties=Excel 8.0;"; //Validamos que el usuario ingrese el nombre de la hoja del archivo de excel a leer if (string.IsNullOrEmpty(hoja)) { MessageBox.Show("No hay una hoja excel para leer"); } else { try { //Si el usuario escribio el nombre de la hoja se procedera con la busqueda conexion = new OleDbConnection(cadenaConexionArchivoExcel);//creamos la conexion con la hoja de excel conexion.Open(); //abrimos la conexion dataAdapter = new OleDbDataAdapter(consultaHojaExcel, conexion); //traemos los datos de la hoja y las guardamos en un dataSdapter dataSet = new DataSet(); // creamos la instancia del objeto DataSet dataAdapter.Fill(dataSet, hoja);//llenamos el dataset dataGridView1.DataSource = dataSet.Tables[0]; //le asignamos al DataGridView el contenido del dataSet conexion.Close();//cerramos la conexion dataGridView1.AllowUserToAddRows = false; //eliminamos la ultima fila del datagridview que se autoagrega } catch (Exception ex) { //en caso de haber una excepcion que nos mande un mensaje de error MessageBox.Show("Error, Verificar el archivo o el nombre de la hoja", ex.Message); } } } public List<string> ObtenerHojas(string archivo) { string nombre = archivo; var excel = new Excel.Application(); Excel.Workbook libro = excel.Workbooks.Open(nombre); List<string> listas = new List<string>(); foreach (Microsoft.Office.Interop.Excel.Worksheet item in libro.Sheets) { listas.Add(item.Name); } return listas; }
Por favor ayudaaaaaaaaaaaaaaaa