我正在使用EPPlus读取Excel表格并将数据加载到datatable中进行进一步操作,然后将修改后的数据保存回Excel文件。
以下代码检查单元格值是否为浮点值,然后将浮点值转换为日期时间。
当单元格值是日期时,如发票日期= 42009,该代码可以正常运行,但它会将非日期值(例如:金额= 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();
}
}