private CompileResult CompileSingleCell(ExcelDataProvider.IRangeInfo result) { if (result.Address.Address == ExcelErrorValue.Values.Ref) { return(new CompileResult(eErrorType.Ref)); } var cell = result.FirstOrDefault(); if (cell == null) { return(CompileResult.Empty); } var factory = new CompileResultFactory(); var compileResult = factory.Create(cell.Value); if (_negate) { if (compileResult.IsNumeric) { compileResult = new CompileResult(compileResult.ResultNumeric * -1, compileResult.DataType); } else if (compileResult.DataType == DataType.String) { if (compileResult.ResultValue is string resultString && double.TryParse(resultString, out double resultDouble)) { compileResult = new CompileResult((resultDouble * -1).ToString(), compileResult.DataType); } else { compileResult = new CompileResult(eErrorType.Value); } } }
private CompileResult CompileSingleCell(ExcelDataProvider.IRangeInfo result) { var cell = result.FirstOrDefault(); if (cell == null) { return(CompileResult.Empty); } var factory = new CompileResultFactory(); var compileResult = factory.Create(cell.Value); if (_negate && compileResult.IsNumeric) { compileResult = new CompileResult(compileResult.ResultNumeric * -1, compileResult.DataType); } compileResult.IsHiddenCell = cell.IsHiddenRow; return(compileResult); }