_ ExcelをDSLとしてプリティプリンタを作る 最近、仕事でレガシーなものを相手にしてたんで、ExcelをDSLとして使いまくっていろいろツールを作ったわけだが。 こういう方法って知ってる人は当たり前に知ってるわけだけど、もしかしたら知らないで無駄なことをしてたり、面倒なことをしてたりする人もいるかも知れないから、ちょっと書いておこうかなぁとか。 というわけで、下のようなExcelブックがあると仮定する。本物はもっといろいろなカラムがあったり、行と行の間に隙間があったりするかも知れないけど、本質的には名前と長さとタイプの3つのフィールドがある。 たとえば、これは固定長レコードのファイルのフィールド仕様だったりするわけだ。 つまりは、こういうレコードのフォーマットのファイルがそこら中にあったり、あるいはログの中にこのフォーマットのレコードのダンプが書き込まれていたりする。そして、上図のよ