Change excel reading process

This commit is contained in:
Evgeny Redikultsev
2025-10-18 20:04:08 +05:00
parent 8d4c788a7e
commit 5bf01bcb09
21 changed files with 337 additions and 61 deletions

View File

@@ -24,6 +24,7 @@ namespace StructureHelperCommon.Models.Forces
public IShiftTraceLogger? TraceLogger { get; set; }
public IColumnedFileProperty ForceFileProperty { get; set; }
public bool SkipWrongRows { get; internal set; }
public IForceTuple GetForceTuple(IExcelDataReader? reader)
{
@@ -38,10 +39,24 @@ namespace StructureHelperCommon.Models.Forces
throw new StructureHelperException(ErrorStrings.NullReference + $": reader value for column {item.Name} in file {ForceFileProperty.FilePath}");
}
var readerValue = reader.GetValue(item.Index);
if (readerValue is null)
{
if (SkipWrongRows == true)
{
continue;
}
else
{
throw new StructureHelperException(ErrorStrings.NullReference + $": wrong row in file {ForceFileProperty.FilePath}, total row number n = {reader.RowCount}");
}
}
var strValue = readerValue.ToString();
double factor = ForceFileProperty.GlobalFactor * item.Factor * 1000d;
var doubleValue = Convert.ToDouble(strValue) * factor;
fillArrayLogic ??= new FillTupleArrayByColumnNameLogic() { TraceLogger = TraceLogger };
fillArrayLogic ??= new FillTupleArrayByColumnNameLogic()
{
TraceLogger = TraceLogger
};
fillArrayLogic.ProceeForceTupleArray(nDouble, doubleValue, item.Name, ForceFileProperty.FilePath);
}
TraceLogger?.AddMessage($"String values: Nz = {nDouble[0]}, Mx = {nDouble[1]}, My = {nDouble[2]} were gained", TraceLogStatuses.Debug);