将单元格索引转换为单元格表示

时间:2014-03-18 17:49:34

标签: c#

我有2个整数值表示excel表格中的单元格索引(excel 2010),我需要创建相应的excel单元格表示(即0,0表示A1) - 基本字符串。

例如: - 如果单元格索引是0,0那么我的代码应输出A1(代表第一个单元格)

  • 如果单元格索引为0,1则应输出B1

  • 如果单元格索引为0,27则应输出AA1

  • 如果单元格索引为0,28则应输出AB1 ..依此类推。

我得到它正确,直到A **并且不超出以下代码。我可以修改逻辑以输出正确的excel单元格表示其他索引,即超出A **并且它转到B **并且等...... ..

代码:

 class Program
    {
        static void Main(string[] args)
        {

            for (int row  = 0; row < 2; row++)
            {
                for (int column = 0; column < 50; column++)
                {
                    var header = Headers(column + 1, row).Skip(column).First().ToString();

                    Console.WriteLine(header);
                }
            }

            Console.ReadLine();
        }

        public static IEnumerable<string> Headers(int column, int row)
        {
            for (int index = 0; index < column; index++)
            {
                if (index >= 26)
                {
                    var firstInt = index / 26 - 1;
                    var firstAplhabet = ((char)(firstInt + 65)).ToString();
                    var secondInt = index - 26;
                    var secondAlphabet = ((char)(secondInt + 65)).ToString();

                    yield return firstAplhabet + secondAlphabet + (row + 1);
                    continue;
                }

                var alphabet = ((char)(index + 65)).ToString();

                yield return alphabet + (row + 1);
            }
        }
    }

0 个答案:

没有答案