Этот вопрос основан на этой теме Загадка программирования: как преобразовать имя столбца Excel в число?
Вот код из этого вопроса для перевода номера столбца в имя столбца excel
public String getColName (int colNum) {
String res = "";
int quot = colNum;
int rem;
/*1. Subtract one from number.
*2. Save the mod 26 value.
*3. Divide the number by 26, save result.
*4. Convert the remainder to a letter.
*5. Repeat until the number is zero.
*6. Return that bitch...
*/
while(quot > 0)
{
quot = quot - 1;
rem = quot % 26;
quot = quot / 26;
//cast to a char and add to the beginning of the string
//add 97 to convert to the correct ascii number
res = (char)(rem+97) + res;
}
return res;
}
Я тщательно протестировал этот код, и он работает, но у меня есть вопрос о том, что эту строку нужно повторить, чтобы это сработало.
quot = quot - 1;
Насколько я понимаю, цитата необходима для сопоставления номера столбца с расстоянием от «а». Это означает, что 1 должно сопоставляться с 0 расстоянием от «а», 2 с 1 расстоянием от «а» и так далее. Но разве вам не нужно вычесть это один раз, чтобы учесть это? Не в петле, я имею в виду, в конце концов,
quot = quot / 26;
остановит цикл.