- PR -

jsp サーブレットで既存のEXCELファイルを実行するには?

1
投稿者投稿内容
ひろ
会議室デビュー日: 2003/10/18
投稿数: 12
投稿日時: 2004-04-19 09:43
jspから、エクセル(マクロ)を起動して、実行後のエクセルファイルをブラウザ側に表示することは、可能なのでしょうか?ASPでは、できるみたいなことが書いてあったのですが、jsp サーブレットでは、掲載されていませんでしたので、投稿させていただきました。
どなたかご存知の方がいられましたら、ご教授お願いします。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 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/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2004-04-19 10:09
>jspから、エクセル(マクロ)を起動して、
JSPからエクセルの操作は最近Jakarta POIが流行っているみたいですが、
私はWSHで操作する方がいいような気がしてます。。。
WSHを起動するならRuntimeクラスのexecで可能です。

>実行後のエクセルファイルをブラウザ側に表示する
具体的にどうしたいのかわかりません。
VBAでエクセルファイルを新たに生成し、それを表示したいのでしょうか?
それなら、VBAで生成したエクセルファイルの配置場所を
サーブレット側に通知して終了し、
サーブレット側は通知されたURLにリダイレクトするなりしてあげれば、
クライアントでダウンロードは可能ですよ。

ただ複雑な計算結果を出したいとかであれば、
そのままエクセルファイルをクライアントにダウンロードさせて
クライアントでVBAを実行させればよいのではないでしょうか。

#ウィンドウズ限定ですけど・・・
ひろ
会議室デビュー日: 2003/10/18
投稿数: 12
投稿日時: 2004-04-19 11:22
>具体的にどうしたいのかわかりません。
具体的に申しますと、現在 Poiでエクセルを生成して、生成されたエクセルファイルにリダイレクトでジャンプして、ブラウザ(IE)にエクセルを表示するような仕組みで作成しているのですが、表示する帳票が決まっていまして、エクセルに一覧表を表示する際に、一番上のところに固定幅のタイトルを表示する必要があり、そういった場合、一覧の項目の幅が変わっても、タイトルの幅が変わらないようにする必要があり、エクセルにテキストボックスを埋め込み、エクセル表示時にマクロを自動実行させて、テキストボックスに値を埋め込むようにしているのですが、マクロのセキュリティを高いに設定された場合や、エクセルを表示されずに直接端末に保存された場合、テキストボックスの中が空白になって困っているところであります。
そこで、現在考えているのは、エクセルを表示する前に、jspかなにかでマクロを起動することが可能であるのであれば、そう実装したいです。
それが無理なようであれば、タイトル行のセルを操作し、同じような見た目にしようと考えます。現在は、後者のほうになってしまうのではないのかと自分では、思っていますが、前者でできるのであればそちらのほうを適用したいと考えております。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2004-04-19 13:18
私がひろさんの立場で、環境がウィンドウズなら
WSHでマクロの起動をやっちゃいます。

WSHをサーバで起動して、そのWSHでエクセルを起動し
マクロを実行してやればいいのです。
そのサーバーのエクセルのセキュリティは低くしてあげます。
VBScriptで書くだけなので楽ですよ。

流れはこんな感じです。
JSP > Runtime#exec > WSH > ExcelVBA > JSP
--------Java------ ----Windows---- --Java---
1

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