我有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);
}
}
}