きしだのはてな このページをアンテナに追加 RSSフィード

2005-06-05(日)

[]Hibernate Annotations(EJB3)のマッピングクラスを自動生成 21:28 Hibernate Annotations(EJB3)のマッピングクラスを自動生成 - きしだのはてな を含むブックマーク

こんな感じのJavaコード書いてこんな感じのVelocityテンプレート書いて、マッピングクラスを生成してみました。

VelocityのライブラリとJDBCドライバをクラスパスに含めて、クラスの先頭当たりの文字列定数を適当に変更してコンパイル・実行すると適当にきしだ好みのマッピングクラスのソースコードが生成されます。


こんな感じでデータベーススキーマ拾ってくるコード書いておくと、なにかと便利ですね。

このデータをVelocityみたいなExcelテンプレートに流し込むと素敵なことになるかもしれません。

というか、そういうことをやるためにVeloPoi作ってるわけですが。

2005-05-26(木) このエントリーを含むブックマーク

その後のVelocityみたいなExcelテンプレート こんな感じ(VeloPoi.java[10KB])のメソッドを某ポイントで15ポイント未満とか気にせず書いて

こんな感じで改ページとページヘッダが書けるようにしたら

こんな感じのExcelファイルがちょっとバグありな感じで生成できるようになったんだけど

JooConverter使ってこんなコード実行したら

DocumentConverter conv = DocumentConverterFactory.getConverter();
File in = new File("C:\\java\\out.xls");
File out = new File("C:\\java\\out.pdf");
conv.convert(in, out, DocumentFormat.PDF_CALC);
DocumentConverterFactory.getConnection().close();

こんな感じのPDFが出力されて、なみだちょちょぎれるハイオク。

2005-02-21(月)

[]VelocityみたいなExcelテンプレートの続き 01:51 VelocityみたいなExcelテンプレートの続き - きしだのはてな を含むブックマーク

ちょっといじってみました。

こんな感じのテンプレートを作って


こんな感じでデータを作って

  Map m = new HashMap();
  m.put("title", "POIですよ");
  DateFormat parser = new SimpleDateFormat("yyyy/MM/dd");
  List l= new ArrayList();
  l.add(new A("test", 5, new Date()));
  l.add(new A("2つ", 3, parser.parse("2004/2/18")));
  l.add(new A("だらだら", 7, parser.parse("2004/2/18")));
  l.add(new A("どんどこ", 2, parser.parse("2005/3/17")));
  l.add(new A("ぺけぺけ", 4, parser.parse("2002/7/20")));
  l.add(new A("だよ", 10, parser.parse("2005/10/31")));
  m.put("b", l);

前と同じ感じで呼び出すとこんな感じで出力されるようになりました。

VeloPoi.jar(11kb)

VeloPoi.java(9kb)


ただ、ひとつ、非常に大きな問題が発生してしまいました。

ここまでで結構満足してしまったので、作りこむのがめんどくさくなったということです。

2005-02-19(土)

[]VolocityみたいなExcelテンプレート 02:10 VolocityみたいなExcelテンプレート - きしだのはてな を含むブックマーク

こんな感じのテンプレートを作って


こんな感じでデータを作って

  Map m = new HashMap();
  m.put("title", "POIですよ");
  List l= new ArrayList();
  l.add(new A("test", 5, new Date()));
  l.add(new A("2つ", 7, new Date()));
  m.put("b", l);

こんな感じで呼び出すと

  InputStream is = getClass().getResourceAsStream("template.xls");
  POIFSFileSystem fs = new POIFSFileSystem(is);

  HSSFWorkbook wb = velopoi.VeloPoi.merge(fs, m);
			
  FileOutputStream fos = new FileOutputStream("C:\\data\\out.xls");
  wb.write(fos);

こんな感じで出力される

こんな感じ(VeloPoi.jar(8kb))のライブラリがあったら素敵かも。

ソースはこんな感じ(VeloPoi.java(6kb)じゃなくてもっとまじめな感じで。


とりあえずJava2SE5用。

いまのところの依存ライブラリは

Jakarta-POI

OGNL

Jakarta-Commons-Collections

Jakarta-Commons-BeanUtils

Jakarta-Commons-Logging

です。