ExcelFormulaParser.Engine.Excel.Functions.RefAndLookup.Column.Execute C# (CSharp) Method

Execute() public method

public Execute ( IEnumerable arguments, ParsingContext context ) : CompileResult
arguments IEnumerable
context ParsingContext
return ExcelFormulaParser.Engine.ExpressionGraph.CompileResult
        public override CompileResult Execute(IEnumerable<FunctionArgument> arguments, ParsingContext context)
        {
            if (arguments == null || arguments.Count() == 0)
            {
                return CreateResult(context.Scopes.Current.Address.FromCol + 1, DataType.Integer);
            }
            var rangeAddress = ArgToString(arguments, 0);
            if (Regex.IsMatch(rangeAddress, RegexConstants.ExcelAddress))
            {
                var factory = new RangeAddressFactory(context.ExcelDataProvider);
                var address = factory.Create(rangeAddress);
                return CreateResult(address.FromCol + 1, DataType.Integer);
            }
            throw new ArgumentException("An invalid argument was supplied");
        }

Usage Example

Exemplo n.º 1
0
 public void ColumnShouldReturnRowFromCurrentScopeIfNoAddressIsSupplied()
 {
     var func = new Column();
     var parsingContext = ParsingContext.Create();
     var rangeAddressFactory = new RangeAddressFactory(MockRepository.GenerateStub<ExcelDataProvider>());
     parsingContext.Scopes.NewScope(rangeAddressFactory.Create("B2"));
     var result = func.Execute(Enumerable.Empty<FunctionArgument>(), parsingContext);
     Assert.AreEqual(2, result.Result);
 }
All Usage Examples Of ExcelFormulaParser.Engine.Excel.Functions.RefAndLookup.Column::Execute
Column