根据数字生成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; }