EPPLUS как узнать формат ячейки рабочего листа
Я использую EPPlus для чтения листов Excel и загрузки данных в таблицу данных для выполнения дальнейших операций, а затем сохраняю измененные данные в файл Excel.
Приведенный ниже код проверяет, является ли значение ячейки значением с плавающей запятой, а затем преобразует значение с плавающей запятой в datetime.
Код работает нормально, когда значением ячейки является дата, например: Дата счета = 42009, но он преобразует не дату, например, например: сумма = 10, в дату.
Есть ли какой-нибудь способ в библиотеке EPPlus, из которого я могу определить формат ячейки (то есть General / date / number и т. Д.)?
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();
}
}