/// <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;
}
}