Esempio n. 1
0
        public static CellRange ParseCellRange(Worksheet worksheet, string cellRange)
        {
            CalcExpression expression = FormulaUtility.Formula2Expression(worksheet, cellRange);

            if (expression is CalcReferenceExpression)
            {
                return(GetRangeFromExpression(expression as CalcReferenceExpression));
            }
            if (expression is CalcNameExpression)
            {
                CalcNameExpression expression2 = expression as CalcNameExpression;
                NameInfo           customName  = worksheet.GetCustomName(expression2.Name);
                if ((customName != null) && (customName.Expression is CalcReferenceExpression))
                {
                    return(GetRangeFromExpression(customName.Expression as CalcReferenceExpression));
                }
            }
            else if (expression is CalcExternalNameExpression)
            {
                CalcExternalNameExpression expression3 = expression as CalcExternalNameExpression;
                NameInfo info2 = worksheet.GetCustomName(expression3.Name);
                if ((info2 != null) && (info2.Expression is CalcReferenceExpression))
                {
                    return(GetRangeFromExpression(info2.Expression as CalcReferenceExpression));
                }
            }
            return(null);
        }