なんとなくjavaでexcel

fissplateをいじってみたり。
横展開に縦展開を含めることはできないのか。まぁそりゃそうか。

シートごとに明細帳票みたいな感じで作ろうとして出来なくて断念。
poiとかjxlsとかを直接使ってtemplateとなるシートをリネームしつつ、元のをコピーとかやろうとしたけどうまくいかず。

あ、、、jxlsとjexcelapiは別物か。。。
もっかい試す。

追記。試した。動かん。

ワークブック間でシートをコピーする - azlab 開発Memo
見て「おっ」って思ったんだけどやってみたら動かず。

java.lang.IllegalArgumentException: This Style does not belong to the supplied Workbook. Are you trying to assign a style from one workbook to the cell of a differnt workbook?
at org.apache.poi.hssf.usermodel.HSSFCellStyle.verifyBelongsToWorkbook(HSSFCellStyle.java:996)
at org.apache.poi.hssf.usermodel.HSSFCell.setCellStyle(HSSFCell.java:837)
at net.sf.jxls.util.Util.copyCell(Util.java:514)
at net.sf.jxls.util.Util.copyRow(Util.java:434)
at net.sf.jxls.util.Util.copySheets(Util.java:484)

な感じにstacktraceが出る。

んで、該当コードを見てみると


SourceForge.net Repository - [jxls] View of /jxls/src/java/org/jxls/util/Util.java

411 public static void copyCell(HSSFCell oldCell, HSSFCell newCell, boolean copyStyle) {
412 if( copyStyle ){
413 newCell.setCellStyle(oldCell.getCellStyle());
414 }

[Apache-SVN] Contents of /poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java

885 public void setCellStyle(HSSFCellStyle style) {
886 // Verify it really does belong to our workbook
887 style.verifyBelongsToWorkbook(_book);
888
889 // Change our cell record to use this style
890 _record.setXFIndex(style.getIndex());
891 }

[Apache-SVN] Contents of /poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java

932 /**
933 * Verifies that this style belongs to the supplied Workbook.
934 * Will throw an exception if it belongs to a different one.
935 * This is normally called when trying to assign a style to a
936 * cell, to ensure the cell and the style are from the same
937 * workbook (if they're not, it won't work)
938 * @throws IllegalArgumentException if there's a workbook mis-match
939 */
940 public void verifyBelongsToWorkbook(HSSFWorkbook wb) {
941 if(wb.getWorkbook() != workbook) {
942 throw new IllegalArgumentException("This Style does not belong to the supplied Workbook. Are you trying to assign a style from one workbook to the cell of a differnt workbook?");
943 }
944 }

違うワークブックからのsetStyleは認めていない様子。

むねん。

MVC話について

乗り遅れ感満載で。

結局のところ最初から
Life is beautiful: 「RESTful MVC」なアーキテクチャの話
これを書きたかったための前振りなんだろう。

んで、それを「正確に」伝えるためにはMVCってものをきちんと理解してもらわなきゃだ、ってことで
Life is beautiful: Ruby on Railsの「えせMVC」の弊害
を書いた、と。

プチ炎上してたけど、「MVCという手法を理解することは良いことだ」って話だから釣られるのもどうかと思ったりした。

あと、予定調和的にひがさんが釣られてたけど、fatモデルだとかトランザクションスクリプトだとかそういう話を混ぜるとちょっと本論とずれるような。

ひがさんが書いてるのはそれなりの人数でやる量産っぽい業務システムの話のような。自分も普段そういうところに身を置いているので、モデルに全部押し込むってやり方はあんまりやりたくない。が、パッケージ開発の場合は全く違ってできる限りモデルをきちんと作りたくなる。

今回の話はどっちかというと後者の話というか、そもそも「量産」なんてのがソフトウェア開発としてどーよ?って感じもあり。現実的ではあるけど。


とか妄想しながら眺めてた。

というわけで

ここのところ、ずっとプロマネ(笑)みたいなことやってた。

が、極々最近webシステム作るって話が出てきて、担当してた。
新人2人+Java知らない人3人+自分
みたいな感じの体制。ワロス

んで「SAStrutsは1カ月でうんぬんかんぬん」言ってるから試してやろうじゃないのってことで
SAStruts + S2JDBCでやろうとしてた。

結果、そのシステム開発は流れたんだけど、開発に本格的に入る前に
メンバがきちんと開発に入れる様にするための下地づくりをしてた。
SAStrutsすごいですねえ(今更すぎるw)。
中で動いてるのがstrutsってのがいいなぁ、と。

さて、次にwebシステム書けるのはいつになるやらw

SAStrutsでの例外処理

SAStrutsでの例外処理 - 新・たけぞう瀕死の日記

自分はActionのインタセプタでやる派。

ログとログイン認証と例外と、できるだけ同じ仕組みでやりたくて少しいじったりした。
最初はフィルタでやろうとしたんだけど、web.xmlに書くurl-patternが貧弱でいやになってやめた。
リクエストプロセッサをいじることもほんの少しだけ考えたけど、保守する人が触れなそうだからやめた。

ここら辺のエントリを参考にした。

会社

最近は会社のSNSに書くことが多くなって、こっちにあまり書かなくなってしまっている。
そもそもはてなで書いてたのは、技術的な話だとか趣味の話をする相手が社内には少ないという理由もあった。
それが社内で相当数の人と会話できるようになったことで満たされている感がある。

社内SNSはそれなりの利用者がいるけど、そこでの広がりに収束を感じたらまたこっちをメインにするかもしれない。
それにしてもうちの会社(というかグループ)にはすごい人がたくさんいるなぁ。
そういうことを知れたことは結構メリットとして大きい。

悪党たちは千里を走る

ずっとゲームばっかりやってたのであんまり本を読んでない。
久しぶりに読んだ。

悪党たちは千里を走る

悪党たちは千里を走る

そこそこおもしろかった。
けど、ちょっと軽すぎる感じ。真保裕一とか初期の岡島二人が書いてそうな本。
もっと重いのを期待。