예제 #1
0
        /// <summary>
        /// Given a cell, parses the specified cell to get the column number.
        /// </summary>
        /// <param name="cell">Cell with reference (ie. C8)</param>
        /// <returns>Column number (ie. 3)</returns>
        public static int GetColumnNumber(this CellType cell)
        {
            var letter = cell.GetColumnLetter();

            if (string.IsNullOrWhiteSpace(letter))
            {
                throw new ArgumentException("CellReference must be valid reference.");
            }

            letter = letter.ToUpperInvariant();
            var sum = 0;

            foreach (var c in letter.ToCharArray())
            {
                sum *= 26;
                sum += (c - 'A' + 1);
            }
            return(sum);
        }