如何在C#中将数字转换为Excel列名,而不使用自动从Excel直接获取值.
Excel 2007的可能范围为1到16384,即它支持的列数.结果值应采用excel列名称的形式,例如A,AA,AAA等.
CPU周期,内存使用,执行时间等?
补充:除了只知道代码运行速度之外,是否有一种在JavaScript中测试性能的定量方法?
给定列的索引,如何获得Excel列名?
问题是棘手比它听起来,因为它不只是基地-26.列不像普通数字那样换行.即使是Microsoft支持示例也不会扩展到ZZZ之外.
免责声明:这是我之前做过的一些代码,它今天再次遇到了我的桌面.我认为值得在这里发布作为预先回答的问题.
我有一个
List<String> MyList=new List<string>();
我需要MyList用n值填充列表.
如果n的值为2,则列表MyList将包含
"A","B"
如果10那么
"A","B","C"....."J"
如果30那么
"A"....."Z","AA","AB",AC","AD"
如果1000那么
"A",....."Z","AA","AB"......"AZ","BA","BB"......."BZ"........"YZ","AAA",AAB".....
and so on
我不知道该怎么做.
请帮助我使用任何方法使用LINQ或执行此操作  LAMBDA Expression 
我正在尝试编写一个函数,它发出一系列字符串以匹配Excel上的标题.如果您不熟悉Excel,则该序列如下所示:
A,B,...,Z,AA,...,AZ,BA,...,ZZ,AAA,...,etc.
这是我提出的代码:
function next(id) {
    if(id === "")
        return "A";
    var prefix = id.substring(0, id.length-1);
    var last = id[id.length-1]
    if(last === "Z")
        return (next(prefix) + "A");
    return prefix + String.fromCharCode(id.charCodeAt(id.length-1) + 1);
}
你知道更好/更清洁的方式吗?
我有导出到excel的代码,我有一个列数组..
  var colheaders = new string[] {"Name", "Age", "Total", "Date"}
现在我有代码看起来像这样设置标题
            excelExport.SetCell("A", 1, "Name");
            excelExport.SetCell("B", 1, "Age");
            excelExport.SetCell("C", 1, "Total");
            excelExport.SetCell("D", 1, "Date");
问题是,如果我有50列,并且我想在开始时添加一列,我必须更新每个列中的字母"A","B","C"等..
因为我已经有一个字符串标题的数组我想要这样的东西:
  foreach (string colheader in colheaders)
  {
     excelExport.SetCell("A", 1, colheader);
  }
但在这种情况下我需要动态设置字母"A".像这样的东西:
  int i = 0;
  foreach (string colheader in colheaders)
  {
     excelExport.SetCell(GetCol(i), 1, colheader);
     i++;
  }
此外,在Z之后,我需要去AA,然后是AB,然后是AC等..匹配Excel列,因此逻辑必须超过26列
长话短说我试图创建某种国际象棋库,可以用于任何规模的棋盘,可能是int.MaxValue由int.MaxValue.生成无限的排名列表很容易:
    static IEnumerable<int> GetRankNumbers()
    {
        for(int i = 1; ; i++)
            yield return i;
    }
但是为了生成文件信件,我目前正在这样做:
    static IEnumerable<string> GetFileLetters()
    {
        const string theLetters = "abcdefghjklmnopqrstuvwxyz"; // there is no 'i'.
        for(int i = 0; ; i++)
        {
            var factor = i / theLetters.Length;
            var index = i % theLetters.Length;
            var sb = new StringBuilder();
            sb.Append(theLetters[index]);
            for(int j = 0; j < factor; j++)
            {
                sb.Append(theLetters[index]);
            }
            yield return sb.ToString();
        }
    }
产生以下内容:
var x = GetFileLetters().Take(100); …