JExcel を使用していくつかの Excel 列を並べ替えようとしています。また、他のセルへの参照を見つけて、正しいセルを参照するように再マップする必要があります。大変な仕事をたくさんやったような気がしますが、つまずきにぶつかりました。
SOからリンクされているように、wikipediaでこのコードを見つけました:
public static String toBase26(int number){
number = Math.abs(number);
String converted = "";
// Repeatedly divide the number by 26 and convert the
// remainder into the appropriate letter.
do
{
int remainder = number % 26;
converted = (char)(remainder + 'A') + converted;
number = (number - remainder) / 26;
} while (number > 0);
return converted;
}
しかし、それに 35 という数字を入れると、次のようになります。
number
= 35remainder
= 9converted
= char(9+'A')+"" = Jnumber
= (35-9)/26 = 1- 1>0
remainder
= 1char(1+'A')
= Bconverted
= char(1+'A')+"J" = BJ
これはある意味で、基数 10 (35) = 基数 26 (19) となります。しかし、私は実際には列 AJ を参照したいと考えています。
正しい文字を出すためにどのような変更を加える必要があるのか、私には理解できません。紙に書き出そうとすると、以前に抽出した文字が台無しになってしまいます。たとえば、これはうまくいかないと思います。remainder
最初は 8 になり、何かを見逃していない限り、それが I に変換されることを意味するからです。
これに関する任意の助けをいただければ幸いです。私は周りを見回して、これに十分な時間を無駄にしました。私はそれを機能させるための助けが欲しいだけです。