can't go to sleep

組み込み開発の多くをRubyで自動化することに興味があります

Excelファイルをjsonファイルに変換するツールを作成しました

imanityに新ツールを追加しました。
https://github.com/tatssuki/imanity

imanityはExcelスプレッドシートを使用してテストケースを管理するツールです。
しかしExcelスプレッドシートはgitなどのバージョン管理ツールでの使用は非常に面倒でした。

そこで、Excelで作成したファイルをjsonファイルに変換するツールを作成しました。
もちろん、jsonファイルからExcelファイルを復元することもできます。

使い方は簡単で、
imanity_xls2json.rbに引数としてExcelスプレッドシートファイルを与えるだけです。
jsonファイルから戻すときは、imanity_json2xls.rbに引数としてjsonファイルを与えます。
例)imanity_xls2json.rb test.xls

WIN32OLEを使用しているため、windows上でしか動作しません。


また、これに対応して、上記ツールで作成したjson形式のテストケースをimanityで解釈できるようにしました。
これで、Excelの入っていないCIサーバ上でimanity形式の単体テストを自動実行することが可能になります。


多分、このツールはimanityとか関係なく、Excelファイルをgitやsubversionなどのバージョン管理ツールで使いたい人には便利な気がします。まあ、抽出するデータの種類が少ないので、ちょっといまいちかもしれませんが(データサイズを小さくしたかったため、必要最低限のデータのみ集めるように設計しました)。

ツールの簡単な説明。imanityに使用するであろう、数式と値と文字色、セル色のみを抽出して、jsonに吐き出す、それだけ。
WIN32OLE以外のツールではなかなかうまくできませんでした。imanityも全部WIN32OLEでやった方が良いような…。でもWIN32OLEは見えないところでExcelが動くのがちょっと気持ち悪い…。