ExcelのCell位置をRubyから制御するにはExcelのセル番号?の'A1'とかを指定しないといけません。数値で(1,1)とか指定できそうなものですが、いまだに出来ておりません(^^; 数値で指定できないと'A1'などを添え字として使わなければなりませんが、これをデータ数に応じて増やしていくには足し算をしないといけません。'A1'の5列先は'F1'だとかいう計算ですが、文字のままでは足し算できません。そこで
ASCII文字をコード値に(コード値をASCII文字に)変換する
にあるようにコード値を使って計算します。'A'のコード値に1を足すと’B’となります。すなわち
col = 'A'
col = (col[0] + 1).chr #->'B'
のような感じです。
’A1'から列を増やしていくには、
col = 'A'
col = (col[0]+1).chr # calculate column number
cellNo = col + '1'
となります。
さらに’Z1’まで行くと、次は’AA1’となりますので、26のmoduloを使って対応する必要があります。
もっと簡単な方法はないのでしょうか?
0 件のコメント:
コメントを投稿