///
/// 10진수 컬럼 값을 엑셀에서 사용하는 컬럼 값 처럼, 알파벳으로 변환
///
///
///
public string DecToAlphabet(int num)
{
int rest; //나눗셈 계산에 사용될 나머지 값
string alphabet; //10진수에서 알파벳으로 변환될 값
byte[] asciiA = Encoding.ASCII.GetBytes("A"); // 0=>A
rest = num % 26; // A~Z 26자
asciiA[0] += (byte)rest; // num 0일 때 A, num 4일 때 A+4 => E
alphabet = Encoding.ASCII.GetString(asciiA); //변환된 알파벳 저장
num = num / 26 -1; // 그 다음 자리의 알파벳 계산을 재귀하기 위해, 받은 수/알파벳수 -1 (0은 A라는 문자값이 있으므로 -1을 기준으로 계산함)
if (num > -1)
{
alphabet=alphabet.Insert(0,DecToAlphabet(num)); //재귀 호출하며 결과를 앞자리에 insert
}
return alphabet; // 최종값 return
}
///
/// int input=Int32.Parse(textBox1.Text.ToString());
/// Trace.WriteLine(input+"=> "+ xlsmaker.DecToAlphabet(input));
/// 결과
/// 0=> A
/// 27=> AB
/// 16383=> XFD
//
2012-06-22
C# 숫자 컬럼값을 액셀 알파벳컬럼값으로 변환
숫자 컬럼 값을 엑셀에서 사용하는 알파벳으로 변환해 봄.
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기