エクセルデータをCSVに落とす
エクセルの表をプログラムから参照したいと言うことはよくある。いろいろとやり方はあるみたいだけど、一番単純そうなのは xlhtml というツールなのかな。
http://chicago.sourceforge.net/xlhtml/ からダウンロードできる。ソースから作る場合はconfigure して make install だ。
ただ私はx86_64環境のためconfigureがこけてしまった。
./configure
checking build system type... Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized
configure: error: /bin/sh ./config.sub x86_64-unknown-linux-gnu failed
そこで
としたら無事に通った。めでたい。
とすればCSV形式で出力可能だ。後は好きなように調理すればいい。
ただこのデータをlinuxなどで扱う場合は日付形式の扱いが面倒かもしれない。unix時間は1970-1-1からの経過秒数で表されるのに対して、エクセルでは一日ごとに増加する整数で日付を表し、時刻を少数で表すからだ。
とりあえず時刻については気にしないことにすれば、以下のようなスクリプトでエクセル日付をunixで扱える文字列に変換できるので、まあいいか。
#!/usr/local/bin/ruby day = Time.at((ARGV[0].to_i-25569)*24*60*60-9*60*60) p day