我正在使用 EPPlus 读取 excel 表并将数据加载到数据表中以执行进一步的操作,然后将修改后的数据保存回 excel 文件。
下面的代码检查单元格值是否为浮点值,然后将浮点值转换为日期时间。
当单元格值为日期时,代码可以正常工作,例如:Invoice Date = 42009,但它将非日期值(例如:amount = 10)转换为日期。
EPPlus 库中有什么方法可以让我确定单元格的格式(即常规/日期/数字等)?
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();
}
}