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
반응형