public static String numberToLetter(Integer number) {
if (ObjectUtil.isEmpty(number) || number <= 0) {
return null;
}
String letter = "";
number--;
do {
if (letter.length() > 0) {
number--;
}
letter = ((char) (number % 26 + (int) 'A')) + letter;
number = (number - number % 26) / 26;
} while (number > 0);
return letter;
}
public static Integer letterToNumber(String letter) {
if (ObjectUtil.isEmpty(letter)) {
return null;
}
int length = letter.length();
int num;
int number = 0;
for (int i = 0; i < length; i++) {
char ch = letter.toUpperCase().charAt(length - i - 1);
num = ch - 'A' + 1;
num *= Math.pow(26, i);
number += num;
}
return number;
}