EPPLUS cómo saber el formato de la celda de la Hoja de trabajo
Estoy usando EPPlus para leer hojas de Excel y cargar los datos en la tabla de datos para realizar otras operaciones y luego guardar los datos modificados en el archivo de Excel.
El siguiente código verifica si el valor de la celda es un valor flotante y luego convierte el valor flotante a fecha y hora.
El código funciona bien cuando el valor de la celda es una fecha, por ejemplo: Fecha de factura = 42009, pero convierte el valor de no una fecha como por ejemplo: cantidad = 10 en una fecha.
¿Hay alguna forma en la biblioteca EPPlus desde la que pueda determinar el formato de la celda (es decir, General / fecha / número, etc.)?
float floatValue;
if (float.TryParse(Convert.ToString(oSheet.Cells[i, j].Value), out floatValue)
&& Convert.ToString(oSheet.Cells[i, j].Style.Numberformat.Format).Contains("[$-409]d\\-mmm\\-yy;@"))
{
dr[j - 1] = String.Format("{0:d-MMM-yy}", DateTime.FromOADate(floatValue));
}
else
{
DateTime date;
if (DateTime.TryParse(Convert.ToString(oSheet.Cells[i, j].Value), out date))
{
dr[j - 1] = String.Format("{0:d-MMM-yy}", date);
}
else
{
dr[j - 1] = Convert.ToString(oSheet.Cells[i, j].Value).Trim();
}
}