Fisshplate
既存のHSSF限定で動くS2Fisshplateを残しつつ、ooxml対応するとなると、結局こちら側も、S2Fisshplate-ooxmlみたいなのが必要になってくる。なのでS2Fisshplateは、ooxml関連のjarを必須としてしまいたい衝動にかられております。でもせっかく本体も奇麗に分…
すみません、色々と立て込んでおりまして、S2対応の部分のテストが出来てません。一応、毎日気には留めているのだというアピールだけで更新・・・とほほ。
亀の歩みでこれはやっとこうかなというテストも追加して、ほぼほぼ出来たのです。で、s2fisshplateなのですが。検索する拡張子は、 xls xlsx xlsm の3つでよいのでしょうか。とにかく見つかるまで総当たりで探して見つかったらそれ使う、拡張子以外名前がか…
せっかくなので、0.2.0-SNAPSHOTをデプロイしました。ooxml対応は、 <dependency> <groupId>org.seasar.fisshplate</groupId> <artifactId>fisshplate-ooxml</artifactId> <version>0.2.0-SNAPSHOT</version> </dependency>で、必要なjarは全部落ちて来ると思います。
xlsm形式、ちゃんとMsgBoxを表示するマクロが有効な状態で、正常に出力出来ました。もんだどんだい なかなか進捗せんで済みませんです。
やっぱりメソッドを増やすのはやめて、ooxml対応版はライブラリとして分けた方がよいのではないかと思う。poiの構成と一緒。これならooxml不要な人はexclusionいっぱいかかなくても要らないjarは落ちてこないし。既存のインタフェースは変わらず、内部の変更…
ピボットテーブル自体は問題なく動いてるんですが。グラフが…これはooxml関係なくて、既存のテストの奴でもグラフが表示されないのです。Mac版で確認してるからなのではなかろうか。手元にはもうWindows版はないのだなあ… まあグラフはFisshplate側の機能で…
プレビュー機能も対応した。と思う。データ、テンプレートそれぞれxls、xlsx 順列組み合わせあれこれ、テストはなんとかなってます。テンプレートをInputStreamで読み込んで、WorkbookFactory#create して作ったWorkbookでもって、Workbook#write(OutputStre…
どうやら cellStyle や cellType のライフサイクル?なのかな?が思いのほか短いらしい。同じCellでも最初にvalueを保持しようとしてる所では、cellTypeは問題なく取得出来てます。そのあと、データのマージの段階になると例外が出る。一度アクセスするとお…
XmlValueDisconnectedException にみなさん悩まされてるみたいですねぇ。Cell の getCellStyle や getCellType が駄目なようです。書式やらセル結合やらが出来ない。それどころか値のセットが的確な型で出来ないのか。こまったなあ。ひやきおうがんの歌が頭…
互換性を考えて、既存の FPTemplate#process() はそのままにしておきたい。ではooxml対応のメソッドはどんな名前にしたもんか、面倒なのでprocess2とかにしてやろうかとも思いましたがあまりにもあんまりなので…xlsがxlsxになるわけなので、processXにしよう…
もろもろ、放置で済みませんです…仕事が超立て込みつつも待機時間もあったりするので、ちょこちょことooxml対応をしています。 これをもって0.2.0のリリースにしようかと思ってます。依存jarがやたら増えてしまうのですが…
というか言い訳というかごめんなさいなのですが。昨年からの怒涛の環境の変化から手付かずになっておりますFisshplateです・・・メンテなどがあって動作確認して頂くために、0.1.5のSNAPSHOTはちょこちょこMavenリポジトリにあがっていたのですが、0.2.0のリ…
id:hajimeniさんが、Fisshplateの.NET版をリリースしました。POIは関数を独自実装していて、時々「そんな関数ありません」ってエラーになるんだけど、COM使えば関数使い放題だなあ、などと思っていたのですが、NPOIというのがあるのですねぇ。それを使ってい…
Office2007に対応した(らしい)、POIの3.5-FINALが出ましたよ。これで1,048,576件まで表示できるぞ〜。が。毎度ですが、結構変わってます。 Region関連パッケージが変更 セルの範囲を管理する(マージとか)Region周りのパッケージが変更になりました。この…
大変長らくお待たせ致しました・・・。こちらからダウンロードできます。Maven2ご利用の場合もこちらに記載があります。http://fisshplate.sandbox.seasar.org/ja/downloads.html変更点などなどは以下。今バージョンから、POIのバージョンは3.2-FINALでない…
3.1-FINALまでは、createRow(int) すると、既にそのインデックスの行が存在してたらその行を戻して、なければ HSSFRow をnewして戻してたのが、3.2-FINALから上書きというかなんというか、まっさらな行が戻ります。なので、横展開するたびに新しい行が生成さ…
去年、某社のお仕事で結構な変更が入ったまま、ずっとSNAPSHOTだったFisshplateの0.1.4ですが、だいぶ状況が落ち着いた所で正式リリース準備に入ってます。POIの3.1-FINALは、EXCELのカメラ機能を使うと例外が出るとか、1行しかないシートから全行削除した後…
やっぱり意図が違ってました・・・。引数をDtoのリストで送るとその分動的にシートをコピーして複製するのですね。シート動的増殖はなんとかならんのか云われたんですけど、テンプレート側での指示をどう書くか上手いアイデアないので結局やめちゃった。どう…
こちらのエントリー、気がつくの遅くて済みません。http://d.hatena.ne.jp/happy_ryo/20090525#12432356620.1.4-SNAPSHOTから複数シートにテンプレートを書けるようになってます。気をつけなきゃいけないのは、#var で宣言した変数のスコープは複数シートに…
バグレポート出したら、さっき対応してくれました。つたなくてつっけんどんな英語で申し訳ないと思ったけど、 Fixed in svn r675218 とか、返信のがさらにむっちゃつっけんどんだったので、非英語圏住民慣れしてるんだろうなあと思った
1行しかないシートで、 HSSFSheet sheet; //中略 HSSFRow row = sheet.getRow(0); sheet.removeRow(row);ってやるとエラーになる。内部で、削除した分HSSFRowのRowNumを繰り上げてるんだけど、1行だけしかない場合をハンドリングしてなくて、-1突っ込もうと…
横展開するループができたっぽい。 こんなふうに、ヘッダ(というか、左側のタイトル部)はループしたくないから、ループしたい範囲の開始列に「#hforeach」うんぬん書くと ほらこの通り。0.1.4-SNAPSHOTでMavenリポジトリに絶賛アップ中です。まだろくに検証…
と云っても、セル単位のあれこれをやる奴はまで出来なくて、行単位で処理するもの限定です。標準のものだと例えば「#if」や「#foreach」などのブロック構文、それと「#pageBreak」や「#exec」などの単独で処理するものなど。要するにA列のセルに書くものです…
下記URLの件なのですが。 http://ml.seasar.org/archives/seasar-user/2008-March/013120.htmlMLには既にポストしたのですが、ここでも改めて、久保さん、すみません!3月にご要望戴いてたようですが、全く気が付いていませんでした!もしここをご覧になって…
Fisshplateの0.1.3をリリースしました。 バグ 改行コードがCRLF以外の文字列データを埋め込んだ時に改行されない[FISSHPLATE-23] セルの多いExcelを出力すると「書式を追加できません」というエラーが発生し、ファイルを開けない[Seasar-user:13755] 以上の…
s2fisshplateもバージョン合わせてます。pom.xmlがあるので、どうしてもね。依存関係はないんだけど、自動で最新が落ちてくるのがいいし。ダウンロード、Mavenご利用の方はこちらから。 http://fisshplate.sandbox.seasar.org/ja/downloads.html今回は、スク…
#var hoge, foo=0, bar = 'initVal'って書くと、hogeは空文字列、fooは整数の「0」、barは文字列「initVal」に初期化されます。押忍。
上の例だと、「最後は${lastKey}でした!」が、データが埋め込まれて「最後はK0004でした!」になってますが、これ、変数1個までしか対応してませんでした。これじゃあんまりなので、「最後は${lastKey}でした。ただ今${rownum}行目です。」って書いても、「…
関数どうしようとか取り敢えず集計は急務だよなあとかあるんですが。まずはキーブレイクしてグループヘッダ・フッタ表示が欲しいなあという事になって、まずはそれをやるかと思った所でふと気が付いた。スクリプト実行できちゃえばいいじゃん、と。「#var」…