He intentado leer datos de un archivo de Excel. Ha sido exitoso, pero encontré un problema. Cada vez que el formato de la celda y los datos introducidos en la célula no coincide entonces consigo datos vacíosLeer datos de Excel
por ejemplo
Si la celda de datos tiene el formato de fecha - dd/mm/yyyy
, y entra al usuario 13/17/2011
, como el formato de fecha y la fecha ingresados son contradictorios, por lo que el Excel me da una celda completamente vacía. Solo si el formato de la celda es texto, obtengo los datos ingresados.
¿Por qué el archivo de Excel me da una celda vacía en caso de que el formato de fecha introducido no cumpla con el formato de celda?
Este es el código que lee el Excel de datos
if(fileEXT.Equals(".xls"))
{
oledbConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("../Portal_Docs/UploadDocs/"+filename+"")+";Extended Properties=Excel 8.0");
}
else if(fileEXT.Equals(".xlsx"))
{
oledbConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Server.MapPath("../Portal_Docs/UploadDocs/"+filename+"")+";Extended Properties=\"Excel 12.0;HDR=YES;\"");
}
else if(fileEXT.Equals(".xlsm"))
{
oledbConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Server.MapPath("../Portal_Docs/UploadDocs/"+filename+"")+";Extended Properties=Excel 12.0 Macro");
}
oledbConn.Open();
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", oledbConn);
OleDbDataAdapter oleda = new OleDbDataAdapter();
oleda.SelectCommand = cmd;
DataSet ds = new DataSet();
oleda.Fill(ds,"LocationDetails");
Algunos extractos de código sobre cómo leer realmente la celda serían útiles para encontrar el problema. –
Este es el código que lee los datos de Excel – Rohan
¿cómo se accede a 'ds.Tables [0] .Rows [0] .Cells [0]'? –