Улучшения метода расширения. Добавил возможность возвращать null

This commit is contained in:
parent 0b95361b69
commit ac578bce38
2 changed files with 5 additions and 3 deletions

View File

@ -185,8 +185,7 @@ namespace AsbCloudInfrastructure.Services.Trajectory
AzimuthMagnetic = row.Cell(ColumnAzimuthMagnetic).GetCellValue<double>(),
VerticalDepth = row.Cell(ColumnVerticalDepth).GetCellValue<double>(),
Radius = row.Cell(ColumnRadius).GetCellValue<double>(),
Comment = row.Cell(ColumnComment).IsEmpty() ? null :
row.Cell(ColumnComment).GetCellValue<string>()
Comment = row.Cell(ColumnComment).GetCellValue<string?>()
};
return trajectoryRow;

View File

@ -158,10 +158,13 @@ internal static class XLExtentions
=> sheet.Range(begin.RowNumber, begin.ColumnNumber, end.RowNumber, end.ColumnNumber);
internal static T GetCellValue<T>(this IXLCell cell)
internal static T? GetCellValue<T>(this IXLCell cell)
{
try
{
if (cell.IsEmpty() && default(T) == null)
return default;
if (typeof(T) != typeof(DateTime))
return (T)Convert.ChangeType(cell.GetFormattedString(), typeof(T), CultureInfo.InvariantCulture);