c#/기타

[c#] 숫자를 엑셀 열 알파벳으로 변환

byH 2021. 12. 16. 11:42
728x90
반응형

excel을 읽어올 때 

_worksheet.get_Range("A" + i).Value2 이런식으로 읽어오다 보니, 

for( int i =0; i<=100; i++)

이런식으로 반복문을 한다고 했을 때 22번째 열의 알파벳은 무엇인가? 에 대한 고민을 한적이 있다.

 

그럴 때 다음과 같은 함수를 작성해놓고, 해당 함수를 불러 사용해보자 

 public string ExcelColNumAlpabet(int icol)
        {
            int iDivideNum = icol;
            string strCol = string.Empty;

            int remindNum = 0;
            while (iDivideNum > 0)
            {
                remindNum = (iDivideNum - 1) % 26;
                strCol = Convert.ToChar('A' + remindNum) + strCol;
                iDivideNum = (int)((iDivideNum - remindNum) / 26);
            }
            return strCol;
        }

 

     private void button1_Click(object sender, EventArgs e)
        {
           for(int i = 0; i<=100; i++)
           {
              string alpa =  ExcelColNumAlpabet(i);
              richTextBox1.AppendText(i+"번째 알파벳은 : " +alpa+"\n"  );
           }
        }

        public string ExcelColNumAlpabet(int icol)
        {
            int iDivideNum = icol;
            string strCol = string.Empty;

            int remindNum = 0;
            while (iDivideNum > 0)
            {
                remindNum = (iDivideNum - 1) % 26;
                strCol = Convert.ToChar('A' + remindNum) + strCol;
                iDivideNum = (int)((iDivideNum - remindNum) / 26);
            }
            return strCol;
        }

 

728x90
반응형