- - PR -
POIでエクセルの書き込み
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-07-18 12:02
Tomcat上でエクセルデータを作成する処理があり、POI使おうとしています。
環境 Tomcat 5.0.28 java 1.4.2.028 OS Windows XP 質問1 改ページの行設定をしようとしているのですが、 http://jakarta.apache.org/poi/apidocs/ によると setRowBreak(int row) でおこなえるようなのですが、 20040804バージョン を見るとメソッドが見つかりません。 これは違う版にでもあるということでしょうか? 使えてる。なんて話があったら教えて欲しいです。 質問2 http://sunsite.tus.ac.jp/pub/apache/jakarta/poi/release/bin/ では20040804付けのものがfinalになっていますし、 http://jakarta.jp/poi/ を見てもCocoonのほうがいいよ。 というふうに思える記述があったりします。 POIでexcelというのは、今はあまりやらないのでしょうか? Cocoonや他の方法がいいのでしょうか? Cocoon,xlsといったキーワードで検索しますがいい例を見つけられません。 質問3 これに関連してWeb検索をいろいろしているのですが http://www.jajakarta.org/kvasir/bbs/technical/ って閉鎖になっているのでしょうか? 検索でヒットするのですが、参照しようとすると見れません。 以上よろしくお願いします。 | ||||||||||||
|
投稿日時: 2006-07-18 13:06
poi-bin-2.5.1-final-20040804には、
HSSFSheet#setRowBreak(int)がちゃんとありますよ。 手元のバージョンをもう一度確認してはどうですか。 | ||||||||||||
|
投稿日時: 2006-07-18 13:19
少なくとも私はPOI等のオープンソースを使って、 Excelの処理を行おうとは思いません。 所詮、Excelはマイクロソフトの製品でしかなく、 何か規格で標準化されているとかでないのですから、 保守をしていくことを考えると、 最初から選択肢には入りませんね。 これを選択肢に入れようとするのは、Sierの技術者等、 開発をするだけの方ですね。 企業にもよりますが、通常システムは開発期間よりも、 保守期間の方が遙かに長いですから、 安易にオープンソースを使って済まそうとすると、 後々泣きを見ることになります。 弊社では社内用の次期システムを開発中で、 そこでExcelを扱う機能がありますが、 そこでは、POIは使用しておらず、 商用のツールを使っています。 オープンソースで済まそうとする技術者は多いですが、 それで本当に、システムを保守・運用していけるのか、考えましょう。 正直、システムを開発するだけなら、今や日本企業を使うメリットは、 殆ど無いのですから、日本のSIerが生き残っていくためにも、 日本のSIerはこの点をもっと意識する必要があります。 | ||||||||||||
|
投稿日時: 2006-07-18 15:20
本題とは外れてますが、
それを言うなら、Excel を使用したシステムを開発すること自体、 大きな不安の種を抱えていることになりませんか?たとえ商用の ツールを使おうが同じことです。 将来的な保守という点から見るなら、商用ツールを使う方がデメリットが 大きいと思います。将来、Excel の内部的な規格が大きく変更になった 場合、商用ツールが必ずしも対応してくれる保証はないし、対応してくれた としても追加費用が発生する可能性があります。 オープンソースであれば対応してくれれば無償ですし、対応してくれなくても、 最悪、自分でソースを修正するという道が残されています。
日本のSIer が生き残っていくために、商用ツールを購入しましょう、という 意味でしょうか? オープンソースを使用する方が、開発のスキルは向上すると思うのですが。 むしろ、「お金を取っているから」「有償サポートがあるから」という理由だけで、 安易に商用ツールを使用するSIerが増えることの方が心配です。 | ||||||||||||
|
投稿日時: 2006-07-18 15:47
takuさんの意見の「商用ツール」と「オープンソース」の言葉を入れ替えても、
同じことが言えるような気がします。。。 | ||||||||||||
|
投稿日時: 2006-07-18 16:29
koeさん、takuさんレスありがとうございます。
ダウンロードしなおして、解凍しなおしてみると、コンパイルでき、実行もできました。 今のシステムのなかにはExcelファイルを出力する有償ソフトも含まれていますが、 今回の機能実現に向かないということで除外されています。 よいツールがあれば、有償でもマネージャーに導入を提言しますし、マネージャーも 導入を検討するでしょう。 今はPOIでどうかと試行している状況です。 技術論に戻りますが 今やろうとしているのは ・手でエクセルファイルを作成する。 ・そのファイルを利用してjavaよりデータを付加して出力する。 使用しているエクセル機能は セル結合、セル書式設定、ページ設定 文字、数字、日付入力 といったところです。 WorkBookをコピーしようとしたのですが http://issues.apache.org/bugzilla/show_bug.cgi?id=36956 というバグがあって、既存ファイルに改ページ設定できません。 対処方法も上のURLに記載されているようなのですが、 これはPOIのソースを修正しようということでしょうか? ユーザアプリに何かコードを追加しようということなんでしょうか? ちょっとわかりません。回避された方いらっしゃらないでしょうか? 新規でWorkBookを作成して、元のエクセルファイルの内容をコピーという方法も 検討しているのですが、かなり細かく情報を取得して設定しなおさないといけない ようです。 今HSSFCellStyleをさらにバラして設定するというところをやってるのですが、 もっと簡単な方法はないものかと思案しています。 セル単位などでコピーする方法はないでしょうか? | ||||||||||||
|
投稿日時: 2006-07-18 17:47
そんなことは誰でも知っていること。 それを問うても無意味です・・・。 ![]()
オープンソースであろうと、自分でソースを修正する選択肢は、 企業の情報システム部にはまず無いのですよ。 それがあると仰るのは、Sierにしか在籍したことがない技術者です。
違いますよ。 商用ツールなら商用ツールが売れている限り、 保守サポートが続けられるはずです。 保守サポートが続いているなら、それはベンダーの問題です。 ですが、オープンソースはどうでしょうか? オープンソースは所詮はボランティアですから、 そこに参画している人達に意志が無ければ、 場合によってはOfficeがバージョンアップした場合に、 対応出来ないことも出てきますよね。 オープンソースを使っていたら、私のような、 企業の情報システム部にいる人間は、 その対応を自分自身で行う必要が出てきてしまいます。 それは、自分自身が部署を去った後でも続くのですよ。 だから、私はStrutsのような書籍もいっぱい出ているツールは別ですが、 それ以外は、オープンソースの使用は薦めていません。 | ||||||||||||
|
投稿日時: 2006-07-18 18:35
私は、SIer 出身で現在は(SIerではない)企業の情報システム部にいます。 で、自分でソースを修正する選択肢があります(開発部門なので)。 なので、taku さんとは少し立場が異なるかもしれませんね。
これは少し疑問。売れていても、コスト的に見合わないと判断されれば サポートなど簡単に打ち切られると思いますが。もっとありうるケースと しては、その商用ツールの開発元が倒産して、担当営業も技術者も行方しれず になってしまうとか。そういう場合、商用ツールだとお手上げです。 (バイナリから解析するという手段はあるかもしれませんが)。 オープンソースであれば、たとえ、そのコミュニティがバージョンアップ する意志を無くしてしまったとしても、ソースさえ手元にあれば、お金を 出してでも、やる気のあるSIer にでもカスタマイズを依頼できる可能性が あります。 たぶん、自分がSIer出身なのと、予算的に商用ツールをなかなか買って もらえないという事情から、「自分でできることは自分で」という意識が 高いのでこのように考えてしまうのだと思いますが。 #そう考えると、買ってもらえたのって、データベースとAPサーバだけだ(^^; 別に、無条件でオープンソースを使うのがよい、と言っているわけでは ないですし、商用ツールの方が妥当な選択肢だと思う場合は、稟議出します けどね。 |
1|2|3
次のページへ»