Ejemplo n.º 1
0
        private static string TranslateInternal(string rowDollar, uint rowIdx, string colDollar, uint colIdx, uint rowStart, uint colStart, int rowDelta, int colDelta, bool followAbsoluteRefs, out bool exceededBounds)
        {
            int num  = (int)rowIdx;
            int num2 = (int)colIdx;

            if ((num >= rowStart) && ((rowDollar != "$") || !followAbsoluteRefs))
            {
                num += rowDelta;
            }
            if ((num2 >= colStart) && ((colDollar != "$") || !followAbsoluteRefs))
            {
                num2 += colDelta;
            }
            exceededBounds = false;
            if (((num < 1) || (num > ExcelConstraints.MaxRows)) || ((num2 < 1) || (num2 > ExcelConstraints.MaxColumns)))
            {
                exceededBounds = true;
            }
            num  = Math.Max(1, Math.Min(num, ExcelConstraints.MaxRows));
            num2 = Math.Max(1, Math.Min(num2, ExcelConstraints.MaxColumns));
            return(string.Concat(new object[] { rowDollar, ExcelAddress.ColumnIndexToName((uint)num2), colDollar, num }));
        }