数字转换成excel列名(10进制到Excel的26进制的转换函数)
真悲剧!自己写了3个小时 这个东西居然没写出来!汗死!!!!
不过找到了答案,在网上找了好久好多有意思的算法,但是遇到以Z 结尾的列名时计算错误
共享出来大家一起用吧!
/// <summary>
/// 将 Excle 列索引转换成列名称
/// </summary>
/// <param name="colIndex">列索引</param>
/// <returns></returns>
public string ConvertToColName(int colIndex)
{
string strRtn = "";
if (colIndex <= 0)
return "";
int numMod = 0;
int numTemp = colIndex;
char ch = 'A';
do
{
numMod = numTemp % 26;
numTemp = numTemp / 26;
if (numMod == 0)
{
ch = 'Z';
numTemp--;
}
else
ch = (char)('A' + numMod - 1);
strRtn = ch + strRtn;
}
while (numTemp > 0);
return strRtn;
}