[Javascript] 열 번호로 Excel 열 문자 만들기

이강호·2022년 12월 16일
0

정수 값(num)을 통해 Excel의 열 문자를 만드는 소스코드이다.
0 -> A
25 -> Z
26 -> AA
와 같이 return 한다.

convertNumToExcelCol(num) {
  const alpCount = 'Z'.charCodeAt(0) - 'A'.charCodeAt(0) + 1
  let result = ''
  while (num !== -1) {
    result = String.fromCharCode('A'.charCodeAt(0) + (num % alpCount)) + result
    num = Math.floor(num / alpCount) - 1
  }
  return result
}

다음 소스코드와 같이 사용했다.

이 코드는 문자가 주어졌을 때, 몇 열까지인지 count를 구하는 소스이다.

아래 코드에서 문자열 변수인 stop이 'A'면 count는 1이고, 'AA'면 count는 27이다.

const alpCount = 'Z'.charCodeAt(0) - 'A'.charCodeAt(0) + 1
let count = 0
for (let i = 0; i < stop.length; i++) {
  count += Math.pow(alpCount, stop.length - 1 - i) * (stop.charCodeAt(i) - 'A'.charCodeAt(0) + 1)
}

for (let i = 0; i < count; i++) {
  result.push({
    id: i + 1,
    name: this.convertNumToExcelCol(i)
  })
}
profile
할 때 하고 놀 때 노는 개발자

0개의 댓글