class NumberToLetter
{
#region Generate a letter
/// <summary>
/// Generate a letter according to the param
/// Return the letter
/// </summary>
/// <param name="number">the letter's number</param>
/// <returns>The number represent which letters</returns>
public string GenerateLetter(int number)
{
string letter = string.Empty;
switch (number)
{
case 0: letter = "Z"; break;
case 1: letter = "A"; break;
case 2: letter = "B"; break;
case 3: letter = "C"; break;
case 4: letter = "D"; break;
case 5: letter = "E"; break;
case 6: letter = "F"; break;
case 7: letter = "G"; break;
case 8: letter = "H"; break;
case 9: letter = "I"; break;
case 10: letter = "J"; break;
case 11: letter = "K"; break;
case 12: letter = "L"; break;
case 13: letter = "M"; break;
case 14: letter = "N"; break;
case 15: letter = "O"; break;
case 16: letter = "P"; break;
case 17: letter = "Q"; break;
case 18: letter = "R"; break;
case 19: letter = "S"; break;
case 20: letter = "T"; break;
case 21: letter = "U"; break;
case 22: letter = "V"; break;
case 23: letter = "W"; break;
case 24: letter = "X"; break;
case 25: letter = "Y"; break;
default: return "Sorry,there is no answer!";
}
return letter;
}
#endregion
#region Get the column'name
/// <summary>
/// Get the column'name by the column'number
/// Return the column'name
/// </summary>
/// <param name="number">the column's number</param>
/// <returns>The column'name </returns>
string columnName = string.Empty;
public string ChangeNumber(int columnNum)
{
int i = columnNum / 26;
int j = columnNum % 26;
string k = string.Empty;
if (i == 0)
{
columnName = GenerateLetter(j);
}
else
{
k = GenerateLetter(j);
columnName = ChangeNumber(i) + k;
}
return columnName;
}
#endregion
}