- PR -

JavaでのExcel操作

投稿者投稿内容
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-08-10 11:04
XMLでの保存の場合、図表やマクロなどを含めることが出来ないので、

1.テンプレートとなるシートをダウンロード
2.ユーザがローカルで編集
3.編集したファイルをアップロード

といった使い方を想定している場合はこの制約が大きく響くことがあります。

XMLでの方式は出力はJSPで済み、アップロード時もXMLのパース処理で
対応することになるので比較的安定した動作が期待できるのが強みです。

POI(2.5系)は安定性の面で不安が大きい…。
とくにアップロードなんかは正直やりたくないところですね。
911
会議室デビュー日: 2007/08/06
投稿数: 6
投稿日時: 2007-08-10 11:40
皆さん

お忙しい所、多数のご意見に感謝しています。
少しずつ理解出来てきました。

1,Jakarta POIAPI
  これはそれなりのデータ件数を操作する場合に、パフォーマンスを求めると
  Server側のMemoryなどのリソースが結構必要となるようですね。
  POIで開発する場合、Down LoadはExcelのテンプレートをServer側に配置して
  抽出したデータをJavaコードでテンプレートへ書き込むと言う事ですね?
  またUploadの場合、PCからExcelシートを転送し、その転送されたシートをAPIで
  Javaコードで読み込むと言う事ですね?
2,J-Excel API
  え!!これはServer側にExcel自体が必要になり、使用されるだけExcelが起動
  されるのですか? また、と言う事はWindows Serverでなくてはならないの
  ですか? 私のイメージではPOIと対して違わないと思っていました。
3,XML形式
  多少特殊なタグをJavaコードで操作しなくてはなりませんが、通常のアプリと
  同じ位置づけで取扱が出来るので結構候補でした。(Javaで動的にシートを
  作成する)

<問題発生>
営業所含め社内のクライアントのインフラを調べてみました。
最新のインフラの配布が結構間に合っておらず、Excelのバージョンがまちまちと
なっていました。(Excel2000,2003)
この結果から、XMLを第一候補として考えていましたが、
XMLはExcel2003以降でないと対応できない。と制約も出てきてしまいます。
となると、JExcel APIでシコシコ開発するのが無難でしょうか。
心配な点もあります。
Application ServerにWebsphereを使用しますので、POIにしろJEXCELにしろ
今後のWASのVersion upに対応出来るか、また対応されるとしても対応までの
期間が心配です。(JexcelがWindows Serverでないと駄目?であればこれは
関係ないのですが)

心配事も色々増えてきました。

引き続きご指導お願いします。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2007-08-10 11:56
 ところでオープンソースと無償製品限定ですか?
オープンソースの方が保守・運用に際して、
要求されるスキルが高くなると思うので、
そういった点も含めて、メリット・デメリットを検討したのでしょうか?
911
会議室デビュー日: 2007/08/06
投稿数: 6
投稿日時: 2007-08-10 12:01
takuさん

お返事有り難う御座います。
言われる通りオープンソースや無償製品を適用する場合、それなりのスキルが維持運用の段階でも必要となることは承知しています。
現段階で私自身ExcelをJavaコード上で取り扱った実績がないので、ごく一般的に使用
され、且つ実績があるものを対象に取り上げていました。
要は機能実現第一で考えていたものですから。
他にも候補がある場合は、真剣に調べて見たいと思います。

引き続きご協力をお願いいたします。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-08-10 12:03
引用:

911さんの書き込み (2007-08-10 11:40) より:
最新のインフラの配布が結構間に合っておらず、Excelのバージョンがまちまちと
なっていました。(Excel2000,2003)
この結果から、XMLを第一候補として考えていましたが、
XMLはExcel2003以降でないと対応できない。と制約も出てきてしまいます。
となると、JExcel APIでシコシコ開発するのが無難でしょうか。


今は2007年です。
頑なにExcel2000をバージョンアップして使いたいのであれば
たとえシステムの製造にExcelのバージョンアップ以上のコストがかかろうとも、
システムの保守にExcelのバージョンアップ以上のコストがかかろうとも、
Excel2000で動かせるようにする必要があるでしょうね。

つまり、
「どうせ古いバージョンのExcelなんてじきにサポートも切れるんだろうし
 これをきっかけにバージョンアップしたら?」
というお話。
911
会議室デビュー日: 2007/08/06
投稿数: 6
投稿日時: 2007-08-10 12:23
nagiseさん

導入後のランニングコストを考えた場合、ここで一発最新のExcelへ統一なんて手も
あるかも知れません。試算してみないと何とも言えませんが。

ちょっと気になるのが、現Excelを使用して他に周辺システムが存在すると、
今回のシステム構築の提案によるExcel最新化を行う場合、その周辺システムへの影響も
考慮が必要となってきます。(まだ周辺は調べていません)

我々もこの辺の管理には非常に苦労します。
POIとJEXCELのメリットやデメリットは一体どういう所にあるのでしょうか?
悩んでしまいます。本来はパイロットなど作成して事実を確かめられれば良いのです
が、方向性が決まらないと予算取りも出来ず、全く動けないので困っています。

引き続きご伝授お願いします。
コイチ
会議室デビュー日: 2007/08/10
投稿数: 1
投稿日時: 2007-08-10 13:04
私もお客様の要件を満たす為に少し前になりますが、
POIとJExcelAPIの調査を行っておりました。
詳細はこちらを参照してみてください。

私の場合は帳票自体に定型部分とフリーの部分があり、
フリーの部分にはユーザが自由にイメージやオートシェイプを貼り付けます。
フリーの部分をプログラム側でいじることはないのですが、
いかんせん両製品ともに、Javaのオブジェクト化の時点でアウトになってしまいます。
つまり通すこともままならない訳です。

よってもし仮にイメージや図を使用される場合は、そもそも使用できないことになります。
仮にイメージや図でなくとも、罫線等も維持されるかは要チェックです。
両製品共に単純な形式にしか向かない場合があります。

Office2007の導入が叶えば基本ファイル形式がXMLになるので、そっちの方向も考えましたが
そこに依存するにはちょっと難しいのが現状です。

余談ですが私のところでは本問題を解決する為に、やはりCOMに頼ることを検討しています。
WindowsServerになってしまいますが、JavaSE6のスクリプティングを利用してrubyから操作したり、
JavaでCOMを扱えるフレームワークを検討しています。
基本Solarisで稼働しているので、分散することも検討しています。

極力MS、Windowsを意識、依存したくはないのですが、Excelを使用すると決まっている以上
やむを得ないのかなと思っています。
意地でもJava製品でいくのもありですが、やはりオープンソースである以上、全て自己責任に
なりますので、検証にはそれなりに時間が掛かると思われます。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2007-08-10 13:06
引用:

911さんの書き込み (2007-08-10 12:01) より:
takuさん

お返事有り難う御座います。
言われる通りオープンソースや無償製品を適用する場合、それなりのスキルが維持運用の段階でも必要となることは承知しています。
現段階で私自身ExcelをJavaコード上で取り扱った実績がないので、ごく一般的に使用
され、且つ実績があるものを対象に取り上げていました。
要は機能実現第一で考えていたものですから。
他にも候補がある場合は、真剣に調べて見たいと思います。

引き続きご協力をお願いいたします。



 であれば、オープンソースに偏った聞き方をしない方が良いかと。
まずベンダー等の営業さんに提案してもらうことをお勧めします。
知り合いの営業さんが何名かいらっしゃいますよね?
提案されたな中で最適な物を選択すれば良いのです。
あと、この手ツールで商用ツールでは、
どういったものがあるか知りたければ、
IT系の雑誌の広告を見れば掲載されています。
その手のツールについてより知りたければ、
無料セミナーにでも出てみても良いでしょうし、
もっと生の情報を集めたほうが宜しいでしょう。

 ちなみに現在弊社が導入しているのは、
Asteriaという商用ツールですが、お勧めしません。
担当者の話を聞いている限り扱いずらいです。
製品によってはPDF等での帳票出力機能を持っているものもあるので、
帳票ツールと統合した方が良い気がしています。

スキルアップ/キャリアアップ(JOB@IT)