Clojureの練習を兼ねて、Excelでデータを編集して簡単にデータベースに
反映できるLeiningenアプリケーションを作ってみました。
pirosuke/clj-xlsx2db
データベース操作には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コマンドは既存データを削除してから取り込むので、
大事なデータが消えないようにご注意ください。
テーブルのデータ型によってはうまくインポートできないかも...。