トップ «前の日記(2005-05-19) 最新 次の日記(2005-05-21)» 編集

Heretic Programmer

エントリを読んで笑ったら笑った回数だけ足跡「☆」を押してください!!足跡がつきます(藁
2004|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|07|08|09|10|11|12|
2010|01|03|04|05|12|

2005-05-20

[java]ExcelMessageResource

Excelからリソースを読み込むライブラリ。眠れないので、ちょろっと書いた奴を整理してリリースしてみよう。まず、次のようなExcelシートを用意します。

これをtest.xlsとします。シート名がロケール名になっています。ルートのロケールはdefaultになります。プログラム中で利用するには、次のようにします。
  ExcelMessageResource res = new ExcelMessageResource("test");
 
  System.out.println("-----output message------");
  System.out.println(res.getMessage("MSG001"));
  System.out.println(res.getMessage("MSG002", new Object[] { "config.xml" }));
 
  System.out.println("-----log message------");
  res.log("MSG001");
  res.log("MSG002", new Object[] { "config.xml" });
  res.log("MSG003", new Object[] { "config.xml", new Integer(3)});
リソースにtestを指定すると、test.xlsを読み込みメッセージを出力します。 出力は、次のようになります。
-----output message------
データベースエラーが発生しました。データベースが起動しているか確認してください。
MSG002:設定ファイル"config.xml"は存在しません。
-----log message------
2005-05-20 04:29:13,021 FATAL [main] (Test.java:13) - データベースエラーが発生しました。
データベースが起動しているか確認してください。
2005-05-20 04:29:13,031 FATAL [main] (Test.java:14) - MSG002:設定ファイル"config.xml"は
存在しません。
logメソッドを使うと、Log4jを利用してログを出力することができます。メッセージに対するメッセージIDの付与や、ログ出力時のLevel(Priority)の設定をExcelシートで行うことができます。LevelをExcel上で変更できるのは便利かも。

最初ResouceBundleを継承して作ろうと思いましたが、禿げしくプロパティファイルに依存しているため、独自実装しました。アプローチとしては、Excelを直接読み込む他にExcelからプロパティファイルなり、ログコードを生成する方法があります。取り敢えずExcel直接読み込み型で実装してみました。

TODO:
  • コード生成タイプとどちらがいいか検討
  • OO.orgのCalcにも対応

[Java]Unified Workbook Reader

MS ExcelのxlsとOO.org Calcのsxcの2つのワークブックを透過的にアクセスできるようにするライブラリ。Excel用のコードとCalc用のコードを分けるのは面倒なので、まずはこいつを作る。

[Java]Calc

ご存知の通り、OpenOffice.org2.0からOASISで標準化されたOpen Document Formatでファイルが記述されている。ODFはXML形式である。XML文書はzip形式で固めらている。例えば次のようにCalcのファイルを解凍してみると、
$ jar tvf test.xsc
mimetype
Configurations2/
Pictures/
content.xml
styles.xml
meta.xml
Thumbnails/tumbnail.png
settings.xml
META-INF/manifest.xml
と、沢山のファイルが見つかる。この中でcontent.xmlにワークブックの内容が書かれているため、こいつを解析すればCalcで作成したワークブックのセルの内容を簡単に読める。
本日のツッコミ(全3件) [ツッコミを入れる]
# Debbie (2007-07-14 03:09)

Great work!<br>[url=http://slmjnctv.com/ebtu/aoqw.html]My homepage[/url] | [url=http://swfmukvh.com/pleo/mamm.html]Cool site[/url]

# rkwzpahe auco (2007-10-09 07:02)

wxfictqb gswvibyc ymkhl kcem wymuo rafpky agsir

# nppldqltop (2007-10-12 10:02)

Hello! Good Site! Thanks you! zlxwroahxmjc

[]