C#获取单元格值(使用NPOI插件)

时间:2023-01-14 19:16:10
/// <summary>
/// 获取单元格的值
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
public static object GetCellValue(ICell item)
{
if (item == null)
{
return string.Empty;
}
switch (item.CellType)
{
case CellType.Boolean:
return item.BooleanCellValue; case CellType.Error:
return ErrorEval.GetText(item.ErrorCellValue); case CellType.Formula:
switch (item.CachedFormulaResultType)
{
case CellType.Boolean:
return item.BooleanCellValue; case CellType.Error:
return ErrorEval.GetText(item.ErrorCellValue); case CellType.Numeric:
if (DateUtil.IsCellDateFormatted(item))
{
return item.DateCellValue.ToString("yyyy-MM-dd");
}
else
{
return item.NumericCellValue;
}
case CellType.String:
string str = item.StringCellValue;
if (!string.IsNullOrEmpty(str))
{
return str.ToString();
}
else
{
return string.Empty;
}
case CellType.Unknown:
case CellType.Blank:
default:
return string.Empty;
}
case CellType.Numeric:
if (DateUtil.IsCellDateFormatted(item))
{
return item.DateCellValue.ToString("yyyy-MM-dd");
}
else
{
return item.NumericCellValue;
}
case CellType.String:
string strValue = item.StringCellValue;
return strValue.ToString().Trim(); case CellType.Unknown:
case CellType.Blank:
default:
return string.Empty;
}
}