NumberToExcelColumn |
bool NumberToExcelColumn(int32 nColumn, int32 nRow, ADT_CHAR* pszColumn) { if (!pszColumn) return false;
int32 nZColumn = 26; int32 nZZColumn = 702; //nZColumn + (26 * 26); int32 nZZZColumn = 18278; //nZZColumn + (26 * 26 * 26);
int32 nAColumn = 1; int32 nAAColumn = 27; // nZColumn + 1 int32 nAAAColumn = 703; // nZZColumn + 1 int32 nAAAAColumn = 18279; // nZZZColumn + 1
char chFours = (char)((nColumn-nAAAAColumn) / 17576) % 26 + 'A'; char chThrees = (char)((nColumn-nAAAColumn) / 676) % 26 + 'A'; char chTwos = (char)((nColumn-nAAColumn) / 26) % 26 + 'A'; char chOnes = (char)((nColumn-nAColumn) % 26) + 'A';
//AAAA1 - ZZZZ1 if (nColumn > nZZZColumn) sprintf(pszColumn, "%c%c%c%c%d", chFours, chThrees, chTwos, chOnes, nRow); //AAA1 - ZZZ1 else if (nColumn > nZZColumn) sprintf(pszColumn, "%c%c%c%d", chThrees, chTwos, chOnes, nRow); //AA1 - ZZ1 else if(nColumn > nZColumn ) sprintf(pszColumn, "%c%c%d", chTwos, chOnes, nRow); //A1 - Z1 else sprintf(pszColumn, "%c%d", chOnes, nRow);
return true; } |
C/C++
엑셀에서 숫자를 컬럼명으로 변환하기
엑셀에서 숫자를 컬럼명으로 변환하기
숫자를 엑셀의 영문 컬럼명으로 변환 하는 함수
'AAAA'와 같이 4글자 컬럼명까지 변환 가능하다.
<참조>