根据数字生成Excel列名称
CString NumToColName(unsigned int uiNum)
{
CString strRes;
int numTmp = uiNum;
//存储生成的字母,最多255位
char pChars[255];
int remainder = 0;
int index = 0;
while ((numTmp >= 1) && (index < 255))
{
//先求出最低位的字母
remainder = numTmp % 26;
if (remainder != 0)
{
pChars[index] = 'A' + remainder - 1;
}
else
{
pChars[index] = 'Z';
numTmp--;
}
//辗转相除
numTmp /= 26;
index++;
}
//反序,组成excel列序号
for (int i = index; i > 0 && i < 255; i--)
{
strRes += pChars[i - 1];
}
//cout << uiNum << ", out = " << strRes << endl;;
return strRes;
}