将数字转换为C#中的字母以便在Microsoft Excel中使用

可能重复:
如何将列号(如127)转换为Excel列(如AA)

好吧,我正在写一个接受一个2d数组作为参数的方法。 我想把这个二维数组放到Excel工作表上,但是我需要找出最后的单元格位置。 我可以很容易地得到这样的高度:

var height = data.GetLength(1); //`data` is the name of my 2d array 

这给了我我的Y轴,但是获得我的X轴并不那么容易。 显然我可以这样得到这个数字:

 var width = data.GetLength(0); 

这给了我一个数字,我想转换成一个字母。 所以,例如,0是A,1是B,依此类推,直到我们再次返回到A的26。 我相信有一个简单的方法来做到这一点,但我有一个完整的心理障碍。

你会怎么做?

谢谢

这是一个也处理双字母列的版本(在Z列之后):

 static string GetColumnName(int index) { const string letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var value = ""; if (index >= letters.Length) value += letters[index / letters.Length - 1]; value += letters[index % letters.Length]; return value; } 

只需将其转换为字符并执行“ToString()”。

 using System; using System.Collections.Generic; public class MyClass { public static void RunSnippet() { int myNumber = 65; string myLetter = ((char) myNumber).ToString(); WL(myLetter); } #region Helper methods public static void Main() { try { RunSnippet(); } catch (Exception e) { string error = string.Format("---\nThe following error occurred while executing the snippet:\n{0}\n---", e.ToString()); Console.WriteLine(error); } finally { Console.Write("Press any key to continue..."); Console.ReadKey(); } } private static void WL(object text, params object[] args) { Console.WriteLine(text.ToString(), args); } private static void RL() { Console.ReadLine(); } private static void Break() { System.Diagnostics.Debugger.Break(); } #endregion }