でも・・・
それだと
HSSFWorkbook#cloneSheet
と一緒になってしまうような気が・・・。読み間違えてるか?
なんとなく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人+自分
みたいな感じの体制。ワロスw
んで「SAStrutsは1カ月でうんぬんかんぬん」言ってるから試してやろうじゃないのってことで
SAStruts + S2JDBCでやろうとしてた。
結果、そのシステム開発は流れたんだけど、開発に本格的に入る前に
メンバがきちんと開発に入れる様にするための下地づくりをしてた。
SAStrutsすごいですねえ(今更すぎるw)。
中で動いてるのがstrutsってのがいいなぁ、と。
さて、次にwebシステム書けるのはいつになるやらw
SAStrutsでの例外処理
自分はActionのインタセプタでやる派。
ログとログイン認証と例外と、できるだけ同じ仕組みでやりたくて少しいじったりした。
最初はフィルタでやろうとしたんだけど、web.xmlに書くurl-patternが貧弱でいやになってやめた。
リクエストプロセッサをいじることもほんの少しだけ考えたけど、保守する人が触れなそうだからやめた。
- SAStrutsでログイン確認インターセプタを使う - idesaku blog
- [SAStruts][Interceptor]セッションによるログイン認証を可能にする | RwJ
- ログ出力インターセプターの実装 - とけび開発記録
ここら辺のエントリを参考にした。
悪党たちは千里を走る
ずっとゲームばっかりやってたのであんまり本を読んでない。
久しぶりに読んだ。
- 作者: 貫井徳郎
- 出版社/メーカー: 光文社
- 発売日: 2005/09/26
- メディア: 単行本
- クリック: 43回
- この商品を含むブログ (45件) を見る
そこそこおもしろかった。
けど、ちょっと軽すぎる感じ。真保裕一とか初期の岡島二人が書いてそうな本。
もっと重いのを期待。