• 締切済み

サーバでエクセルを管理出来ますか?

エクセルの計算式で作っている簡易のアプリケーションがあります。 単に数値を入力すると、グラフが生成されるといったものですが、その計算式や生成されるグラフのイメージを保持したまま、WEBサーバにインストールして活用することは出来ますでしょうか? WEB画面から数値データをフォームによって入力すれば、サーバ内で管理しているエクセルの計算式に数値が読み込まれ、計算の上グラフ化・・・ということをしたいと思っています。

みんなの回答

回答No.1

おそらく質問者は、「エクセルの計算式で作っている簡易のアプリケーション」を サーバ側の純粋に処理のエンジンとして使いたいのだと思います。 それができるかどうかは、そのアプリの作りによります。 ある程度、エクセルVBAがモジュール化されている=機能単位に分割された複数 のエクセルファイルからなっていれば、その部分部分をオブジェクトとしてサーバ 側で利用する事はできると思います。 ただ、その場合でも、エンジンとなる資源は1セットだけなので、Webでの複数 クライアントからのアクセスを想定すると、排他制御かファイルの多重化を考える 必要があると思います。 以上の点でかなり難しいと思います。 ただ、質問者のイメージと違うかも知れませんが見かけ的には次のような事ができます。 (当然サーバはWindows系に限定されますが) 条件が、以下3点つきます。 ・「エクセルの計算式で作っている簡易のアプリケーション」がVBA込みの.xlsファイルである ・このアプリは、値を入力したら最後のグラフ化の処理まで人手を介さない=中断しない。 ・サーバ側の記述はASP(ActiveServerPages)を想定する 機構としては次のようになります。 1)Webのクライアント画面は入力に徹して、入力完了するとサーバ側へ制御   (submit)を移す。 2)サーバ側には、「エクセルの計算式で作っている簡易のアプリケーション」の   xlsファイルがテンプレートとしてあり、クライアントから制御が移ると、   セッション対応の.xlsファイルのコピーを作成する。 3)サーバ側の処理で、コピーした.xlsファイルをCreateObjectで開いてやり、   クライアントからの入力値を埋め込む。 4)サーバ側の処理が完了し次のWeb画面に移る時、コピーした.xlsファイルの   リンクを埋め込んでクライアントへ返し、それをonloadイベントのタイミングで   クリックしたように自動処理し、.xlsファイルを「クライアント」で開かせる。 5)必要な数値は埋め込まれてるから、クライアントのWeb画面上に.xlsファイルが   開き数値に対する計算後、グラフ化処理を行なって表示される。 注意点は、セッション単位で.xlsファイルのコピーが作られるので、これの後始末 (セッションクローズ時に削除、または定期的に削除)する必要があることです。

関連するQ&A