數字轉換成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;
}