Como descobrir o nome daquela coluna em uma planilha?

Suponhamos que você esteja trabalhando na geração de uma planilha usando POI ou Jxl ou OdfEasy ( :-) ). Um problema que surge é: como saber qual o nome da coluna 34?

Encontrei uma função feita em C# que, traduzida para o Java, resulta no código abaixo (ei, se encontrarem algum bug na mesma, me passem para que eu a atualize, ok?). E que será utilizada na biblioteca de utilitários do ODF Easy.


// Só por conveniencia (leia preguiça) criei uma matriz contendo todas as letras do alfabeto.
// Você é livre para criar uma alternativa mais interessante (com certeza há!)
private static String[] letras = {
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P",
"Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
};

private static String getColumn(int column)
{
if (column >= 0 && column < 26) {
return letras&#91;column&#93;;
} else if (column > 25) {
return letras[(column / 26) - 1] + letras[column % 26];
} else
return null;
}

2 Comments

Add Yours →

Nesta caso me parece que vc esta prevendo no máximo duas letrar AA ou AB… mas e nos casos AAB, AAC e assim por diante? seria melhor o segundo return ‘return letras[(column / 26) – 1] + letras[column % 26];’ fizesse uma chamada recursiva…

Responda

admin Reply:

O limite das planilhas consiste em aproximadamente 255 colunas.

Sendo assim, a última coluna normalmente será sempre IV ou algo similar. Difícilmente chegará a 3 letras.

Responda

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.