Nuevamente les presento un problema al tratar de leer achivos de excel, ahora utilizando OLEDB. El problema es otra vez al momento de querer leer una columna que contiene fechas. Esta columna contiene información más o menos así:
Código:
las Celdas A1, A2, A4 y A5 están definidas con el formato de fecha corta, mientras que la celda A3 tiene un formato Texto:A ----------------------------------- 12/12/2000 12/12/2000 Sin Fecha Determinada 12/12/2000 12/12/2000
Tengo mi string de conexión como sigue:
Código:
Lo que deseo hacer es seleccionar todo el contenido del archivo y mostrarlo en un GridView. Para hacer esto hago lo siguiente: //string de conexión connectionString ="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:/Archivo.xlsx;Extended Properties="Excel 12.0;HDR=NO"); //
Código:
El problema está en que en mi GridView para el tercer registro me regresa un vacio (null) string SelectSQL = "select * from [Hoja1$]"; OleDbCommand dbCommand = null; OleDbDataAdapter dataAdapter = null; DataTable dTable = null; try { conn = new OleDbConnection(@connectionString); conn.Open(); // Abrimos la conexión al archivo dbCommand = new OleDbCommand(SelectSQL.ToString(), conn); dataAdapter = new OleDbDataAdapter(dbCommand); //Crear una nueva Tabla dTable = new DataTable(); dataAdapter.Fill(dTable); //Asignar la tabla al GridView if (dTable.Rows.Count > 0) { //Lo ligamos al GridView GVArchivo.DataSource = dTable; GVArchivo.DataBind(); } } //del try catch (Exception ex) { Error = true; } //del catch finally { // Eliminar los objetos y cerrar las conexiones. if (dTable != null) { dTable.Dispose(); } if (dataAdapter != null) { dataAdapter.Dispose(); } if (dbCommand != null) { dbCommand.Dispose(); } if (conn != null) { conn.Close(); conn.Dispose(); conn = null; } }
Código:
Me imagino que el problema está precisamente porque el tercer registro no tiene el mismo formato que los otros (es texto). F1 ----------------------------------- 12/12/2000 12/12/2000 12/12/2000 12/12/2000
Cómo puedo especificar mi select para que me regrese correctamente todos los valores???
Saludos y muchas gracias de antemano