C# Excel列名与Int互转
/// <summary> /// 根据excel列名获取索引,如A=>0,B=>1 /// </summary> /// <param name="columnName"></param> /// <returns></returns> static int GetExcelColIndex(string columnName) { var length = columnName.Length; int result = 0; for (int i = 0; i < columnName.Length; i++) { var c = columnName[i]; result += (c - 'A' + 1) * (int)Math.Pow(26, length - i - 1); } return result - 1; } /// <summary> /// 根据excel列索引获取列名,如0=>A,1=>B,2=>C /// </summary> /// <param name="colIndex"></param> /// <returns></returns> private static string GetExcelColumn(int colIndex) { var quotient = colIndex / 26; var remainder = colIndex % 26; var last = ((char)(remainder + 'A')).ToString(); if (quotient > 0) { return GetExcelColumn(quotient - 1) + last; } else { return last; } }