Clojureの練習を兼ねて、Excelでデータを編集して簡単にデータベースに 反映できるLeiningenアプリケーションを作ってみました。
データベース操作にはKormaを使ってるのですが、 使いやすくて気に入ってます。
使い方
コマンドを指定してデータベース-Excel間のデータインポート、エクスポートができます。
例えばWebアプリを開発しながらExcelで編集して取り込み、動作確認してまた編集、 みたいな操作を繰り返すことを想定して、データベース接続情報や対象テーブル、 入出力先のExcelファイルパスはiniファイルに保存しておき、パラメータとして 渡す形にしています。
Excelに1行目がカラム名になっているシートをテーブルごとに出力する:
lein run export-table-info <iniファイルパス>
Excelにテーブルのデータを出力する:
lein run export-table <iniファイルパス>
Excelからテーブルデータを取り込む:
lein run import-table <iniファイルパス>
Leiningenアプリケーションなので、スタンドアロンjarファイルを生成すれば Leiningenが入っていない環境でも実行できます。
スタンドアロンJarファイル生成
lein uberjar
jarファイルでテーブルデータ出力
java -jar <jarファイル名> export-table <iniファイルパス>
iniファイルの記述方法については下記のサンプルiniファイルをご参照ください: https://github.com/pirosuke/clj-xlsx2db/blob/master/resources/sample.ini
各項目についてはREADME.mdに記載しています。
注意点等
今のところPostgreSQLにのみ対応しています。 そのうちMySQLにも対応するかも。
import-tableコマンドは既存データを削除してから取り込むので、 大事なデータが消えないようにご注意ください。
テーブルのデータ型によってはうまくインポートできないかも...。