Convert A to 1 B to 2 … Z to 26 and then AA to 27 AB to 28 (column indexes to column references in Excel)

后端 未结 4 668
刺人心
刺人心 2020-12-05 14:20

Does any one have algorithm or logic to Convert A to 1 ,B to 2, ... ,Z to 26 and then ,AA to 27, AB to 28 etc.

In other words, converting a column index into the col

4条回答
  •  不思量自难忘°
    2020-12-05 14:48

    Have a look at these

    /// 
    /// 1 -> A
    /// 2 -> B
    /// 3 -> C
    /// ... ///
    /// /// public static string ExcelColumnFromNumber(int column) { string columnString = ""; decimal columnNumber = column; while (columnNumber > 0) { decimal currentLetterNumber = (columnNumber - 1) % 26; char currentLetter = (char)(currentLetterNumber + 65); columnString = currentLetter + columnString; columnNumber = (columnNumber - (currentLetterNumber + 1)) / 26; } return columnString; } /// /// A -> 1
    /// B -> 2
    /// C -> 3
    /// ... ///
    /// /// public static int NumberFromExcelColumn(string column) { int retVal = 0; string col = column.ToUpper(); for (int iChar = col.Length - 1; iChar >= 0; iChar--) { char colPiece = col[iChar]; int colNum = colPiece - 64; retVal = retVal + colNum * (int)Math.Pow(26, col.Length - (iChar + 1)); } return retVal; }

提交回复
热议问题