Fisshplate

評価式を埋め込み可能にしてみた

例えば、「レポート番号は${repnum}です」って書いておくと、「レポート番号は101です」とかになる。まだ1つのセルにつき、式は1個だけなんですけど・・・・。合わせてElクラスをデコレータパターンにして他色々適用出来る様にした。なぜこのような事をした…

これは面倒かも知れない

リスト要素で明示的に全部の値を空にしたい場合もあるだろうし。${item.val!空ですよ}とかの動作確認で。どういうつもりの空なのかを、こっちの思惑で判定しちゃっていいものかどうか。なんともはやだなあ。データファイルを作る時に気をつけてもらう方が正…

空行問題

俺EXCEL、なぜか今日になったら、保存時に空行が自動削除されるようになっているー。SP1でも対応していたのかー。と思ったら。ちょっといじってみて動きが判りました。何も値が入ってない行のセルに直接値を入力して、保存 → その後、そのセルの値を削除、保…

さっそくですが・・・

データ用ファイル、空行が生きてるとコケてしまう・・・。見た目、何も書いてない行でもExcelって行数カウントしちゃうんですよね・・・忘れてた。シート上でCtrl + Endを押してちゃんと意図した最終行最終セルに飛べばOKなんですけど、何もない行に飛んでい…

0.1.1リリースしました。

詳しくはこちら。 http://fisshplate.sandbox.seasar.org/ja/ダウンロード、またはMaven2ご利用の方はこちら http://fisshplate.sandbox.seasar.org/ja/今週の目玉〜のプレビュー機能についてはこちらをどうぞ。 http://fisshplate.sandbox.seasar.org/ja/pr…

0.1.1-SNAPSHOTリリース

取り敢えずSNAPSHOTでMavenリポジトリにリリースしました。プレビュー機能が追加になっています。テンプレートを作って、ちゃんと書けてるか検証するのに、いちいちテストケースなどで埋め込みデータ用Mapを作るのは面倒くさいという話がありまして。埋め込…

例外メッセージ

で、試してみて早速テンプレートの間違いがひっかかって効能を実感したんだけど、メッセージからどの箇所が間違ってるかがわからん。ので、出来る限り例外メッセージで間違い箇所を判りやすくしたいです。

ネストいろいろ

ヘンリーリクエスト、できちゃったよ・・・。単純なデータはひ孫まで確認。ループのネストは子供まで確認。まあこれ以上でもメモリの許す限りOKでしょう。ただ制約があって、親子関係があるシートは、必ず左に親を持ってくること。これを自由にすると、鶏が…

ヘンリー要件

とは、Fisshplateのテンプレートがちゃんと正しく書けてるか確認するのに、いちいち埋め込みデータをJavaでコーディングして用意しなくても、EXCELにルールに従って書いておいてそれを埋め込み用データとして読み込めば、出力ファイルが出来るのであとは目視…

作ってる内に思ったんだけど

ここまで作りこんであると、複数シート対応って、楽に出来ちゃうんじゃないかなあこれ。だーかーらーしーごーとー

0.1.0リリースしました

APIの変更があったのでバージョンは0.1.0になります。 テンプレートに置いた画像がそのままの位置で表示されるようになった テンプレート式を書くと、動的に画像を埋め込む機能追加 foreachで最大行数を指定すると、それに満たない場合に空行を出力するよう…

できた〜

テンプレート上の画像の反映と、空行対応、これで某要望はいいところまで行ってるんじゃないかな。ただし、FPTemplateのAPIが変わりました・・・。これがあるんでちょっと色々と回避策を考えてたんだけど、バカみたいなので白旗かかげて変更。もうちょっと確…

ラップ

POIのオブジェクトをラップするのは真似っこしたいなー。HSSFSheetなりHSSFRowなり、自分の親要素を取って来れないのでcontextクラスが肥大化しちゃってたし。digester使ってるの、いいなとは思うけど、もう引き返せないw

jxls見てるんだけど

ループカウンターをループ内でいじったり、結構きついなーこれ。テンプレートをそのまま使ってますねぇ。画像もそのままコピーされてます。そのかわり、データ埋め込みの度にテンプレートを読み込んで解析するってサイクル。こっちの方が現実的なのかなぁ・…

見たいものがそこにあるのに見えない

あれもこれも、必要なものがあらかた見えない。リフレクションでぶんどってくるしか手はなさそうだなあ・・・・。かーなーり、やりたくない。pictureIndexで画像データが取れればなあ。

ウィンドウ枠の固定と分割

が出来るようになった。ってそっちじゃなくて、画像〜画像〜。現実逃避して他の機能が充実していく・・・。

印刷設定は出来た

なんとか。Excelの「ページ設定」の全部が全部って訳じゃなさそうなんだけど、やるだけやった、と云う感じ。さあ画像だ。うーむむむむむ・・・・。

画像も大変だけど

テンプレート上の画像、取れない・・・・。それも大変なんだけど、印刷設定が上手くコピーされない。帳票用途としてはかなりネックかと思われます。うーむ、うーむ。

コメント

あと、コメント、今まで「#」だけ書けばコメントになったんだけど、それじゃなんなので、「#comment」にしました。

0.0.2-SNAPSHOTまずは公開

今回は、#foreachで最大行数を指定出来るようにしました。最大行数に満たない場合、空行を出力します。空行といっても、テンプレートの罫線や背景色などの書式はそのまま出力されます。${}で囲まれた埋め込みデータが空、って意味です。 #foreach var : list…

ドキュメント追記

取り敢えず、テンプレートの書き方とか。文法は、まずはforeachとifだけ・・・。これだけでもかなり使えると思うので取り敢えず。あとS2Fisshplateを使ったS2連携です。http://fisshplate.sandbox.seasar.org/ja/ぜぇぜぇ。

ドキュメントちょっと書きました。

と云ってもトップページに概要って感じですが。http://fisshplate.sandbox.seasar.org/ja/Maven2のsiteプラグインを使ってるんですが、最初Xdoc形式でちょっと書いたものの、APT形式の方がWikiぽく書けて慣れれば楽そうなので変更。これはいい。Mavenのサイ…

0.0.1をリリースしました。

改ページとページヘッダフッタ周りが落ち着いたので、0.0.1としてリリースしました。http://fisshplate.sandbox.seasar.org/配布パッケージは例によってEclipse + m2eclipseのプロジェクトになってます。Mavenからも使えます。 groupId org.seasar.fisshplat…

Customizer

サフィックスはdiconでどうにでもなるんですけど、Customizerの名前はCreatorのメソッド名で決まるんで(ですよね?)、ちゃんと考えなきゃなあ。Customizerの名前はfisshplateCustomizerにして、インタフェースの名前はFPaoって手もあるんですが、揃ってる…

S2Fisshplate

ってなものも作りました。インタフェース作って、引数がPOJO1個で戻り値がHSSFWorkbookのメソッドを定義する。テンプレートのEXCELは例によって、インタフェース名_メソッド名.xls。で、インタフェースと同じパッケージに置く。そのテンプレートに ${data.ho…

ループのネストに対応しました。

今まで通り、 #foreach a:b (繰り返し行) #endって書くと、ループインデックスはデフォルト値の「index」が割り当てられます。ループをネストした場合など、明示的にそれぞれのループのインデックスを指定したい場合は、 #foreach a:b index=idx (繰り返し…

0.0.1-SNAPSHOTをMavenリポジトリにあげました。

groupId org.seasar.fisshplate artifactId fisshplate version 0.0.1-SNAPSHOT です。まだドキュメントは全然書いてないので、使い方はsvnリポジトリの中のテストケースを参考にして下さい。https://www.seasar.org/svn/sandbox/fisshplate/trunk/fisshplat…

POIってばケチなんだから

HSSFCellから自分がいる所の行やらシートやらワークブックが取れればいいのに。フィールドでは持ってるんだからせめてgetterだけでもあれば、グローバル変数の如くHSSFWorkbookを持ち回さなくても済むんだけどなあ。

できたぞー

考課面談が終わったら頭が切り替わってすぐ出来た。HSSFDataFormatには、POIで用意したビルトイン書式しかなくって、ユーザー定義は勿論、如何にも日本向けのみの書式も入ってない。で、HSSFDataFormatのインスタンスメソッドに、getFormat(String format)っ…

日付型の書式

「yyyy年MM月dd日」ってテンプレート側で指定しても、上手い事取れないんですわ。標準になっちゃって、出力結果は数値になっちゃう。「yyyy/MM/dd」はいける。うーん困った。