- - PR -
jsp サーブレットで既存のEXCELファイルを実行するには?
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-04-19 09:43
jspから、エクセル(マクロ)を起動して、実行後のエクセルファイルをブラウザ側に表示することは、可能なのでしょうか?ASPでは、できるみたいなことが書いてあったのですが、jsp サーブレットでは、掲載されていませんでしたので、投稿させていただきました。
どなたかご存知の方がいられましたら、ご教授お願いします。 |
|
投稿日時: 2004-04-19 10:09
Java / J2EE 自体の仕組みでは Excel などと連携する仕組みは用意されていません。
WebLogic を使いでしたら jCom という MS のコンポーネントと連携する機能が用意されていますので可能かと。 ・[WebLogic jCOM プログラマーズ ガイド] http://edocs.beasys.co.jp/e-docs/wls/docs81/jcom/overview.html |
|
投稿日時: 2004-04-19 10:09
>jspから、エクセル(マクロ)を起動して、
JSPからエクセルの操作は最近Jakarta POIが流行っているみたいですが、 私はWSHで操作する方がいいような気がしてます。。。 WSHを起動するならRuntimeクラスのexecで可能です。 >実行後のエクセルファイルをブラウザ側に表示する 具体的にどうしたいのかわかりません。 VBAでエクセルファイルを新たに生成し、それを表示したいのでしょうか? それなら、VBAで生成したエクセルファイルの配置場所を サーブレット側に通知して終了し、 サーブレット側は通知されたURLにリダイレクトするなりしてあげれば、 クライアントでダウンロードは可能ですよ。 ただ複雑な計算結果を出したいとかであれば、 そのままエクセルファイルをクライアントにダウンロードさせて クライアントでVBAを実行させればよいのではないでしょうか。 #ウィンドウズ限定ですけど・・・ |
|
投稿日時: 2004-04-19 11:22
>具体的にどうしたいのかわかりません。
具体的に申しますと、現在 Poiでエクセルを生成して、生成されたエクセルファイルにリダイレクトでジャンプして、ブラウザ(IE)にエクセルを表示するような仕組みで作成しているのですが、表示する帳票が決まっていまして、エクセルに一覧表を表示する際に、一番上のところに固定幅のタイトルを表示する必要があり、そういった場合、一覧の項目の幅が変わっても、タイトルの幅が変わらないようにする必要があり、エクセルにテキストボックスを埋め込み、エクセル表示時にマクロを自動実行させて、テキストボックスに値を埋め込むようにしているのですが、マクロのセキュリティを高いに設定された場合や、エクセルを表示されずに直接端末に保存された場合、テキストボックスの中が空白になって困っているところであります。 そこで、現在考えているのは、エクセルを表示する前に、jspかなにかでマクロを起動することが可能であるのであれば、そう実装したいです。 それが無理なようであれば、タイトル行のセルを操作し、同じような見た目にしようと考えます。現在は、後者のほうになってしまうのではないのかと自分では、思っていますが、前者でできるのであればそちらのほうを適用したいと考えております。 |
|
投稿日時: 2004-04-19 13:18
私がひろさんの立場で、環境がウィンドウズなら
WSHでマクロの起動をやっちゃいます。 WSHをサーバで起動して、そのWSHでエクセルを起動し マクロを実行してやればいいのです。 そのサーバーのエクセルのセキュリティは低くしてあげます。 VBScriptで書くだけなので楽ですよ。 流れはこんな感じです。 JSP > Runtime#exec > WSH > ExcelVBA > JSP --------Java------ ----Windows---- --Java--- |
1
