WEB上でエクセルのブックをアップロードさせて、サーバー上で計算を行い、その結果をダウンロードさせる手法を行いたいと思います。参考になるページを教えてください。基本的にオープンソースの物でVB,Perl,Java何でも結構です。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/10/30 19:51:57
  • 終了:--

回答(3件)

id:nitscape No.1

nitscape回答回数526ベストアンサー獲得回数02005/10/30 20:08:28

ポイント24pt

http://www1.u-netsurf.ne.jp/~tomo_c/tips/WSH004.html

Tips - (小技にも満たない)微ワザ集

どのようなソフトウエアなどを利用して実現したいかによって具体的な方法が異なりますし、流れも若干変わりますが。。。


おそらくWindowsサーバーになるでしょうから、サーバー側の処理はIISがいいと思います。

IISのISAPIを利用してファイルを取得して、(ISAPIから直接いじろうとすると具合が悪いので)ISAPIからCOMなどを利用して他のコンポーネントを起動し、そちらにファイルデータを渡します。

渡されたデータをExcelのCOMでExcelを外部操作しておこないたい処理をして保存します。保存結果をISAPIに返せば終わり。


という流れになると思います。Windows98の頃に同じ仕組みのシステムを構築したことがありますが、このような流れでうまくいきました。しかしExcelが起動したまま残ってしまったりすることがあるので、実際に長期間安定した動作を実現させるために結構大掛かりなシステムになってしまいました。

ExcelのブックはあきらめてCSVで返すなどした方が小さいシステムで安定したものが作れていいと思います。

http://www.atmarkit.co.jp/fwin2k/operation/wsh03/wsh03_02.html

@IT:運用 Windows管理者のためのWindows Script Host入門 第3回 WScriptオブジェクトの詳細(1) 2.COMオブジェクトの生成と取得

http://www.dotnet247.com/247reference/msgs/27/136339.aspx

MBR IT/.NET 247 : how to create,modify,append a excel file from asp.net using vb? on ASPFriends.com 'ngfx-msoffice' list

http://www.microsoft.com/japan/msdn/library/default.asp?url=/jap...

MSDN ライブラリ サイト移行に関する重要なお知らせ

id:iojoy

早速回答有難う御座います。

基本的にIISを用います。

①アップロード→サーバー上のエクセルを上書き

②計算→サーバー上のエクセルを更新

③ダウンロード→サーバー上のエクセルをダウンロード

①と③の実行タイミングとその手法で悩んでいます。

2005/10/30 20:24:57
id:andi No.2

andi回答回数448ベストアンサー獲得回数02005/10/31 10:51:59

ポイント23pt

Perlでエクセルの読み書きを行う場合はSpreadSheet::ParseExcel/WriteExcelモジュールが利用できます。

ソースを軽く検索してみた感じではEXCELを起動してはいないようなのでプロセスにEXCELが残ったりは無いのではないかと思います。


とは言えエクセルアップロード→計算→ダウンロードという作りはあまり良さそうに思えませんが。

(そもそもサーバ側で計算させる理由は??)

id:iojoy

基本的には社内運用にて経費管理を行いたく、さすがにWEB画面上での大量の数値打ち込みは少し辛く、時間も限られている為、ローカル環境で既に存在するシステムをWEBを介してそのまま流用したいと考えていました。他にアドバイスがあればよろしくお願いいたします。

2005/11/02 01:51:37
id:andi No.3

andi回答回数448ベストアンサー獲得回数02005/11/02 10:12:58

ポイント23pt

http://www.happy2-island.com/access/gogo03/capter90100.shtml

1.FTPやHTTPを使うときの基本 - Access VBA Tips+α

WEBに拘るのであれば、EXCELをアップロードするのではなくEXCELからVBAで必要なデータだけアップロードさせる仕組みを取った方が作りとしては楽です。


WEBに拘りがなければADOやDAO等でDBサーバに直接登録させるのも一つの解決策だと思います。

id:iojoy

確かにODBCが使えれば一番スマートなのですが

地理的に離れている支店のクライアント全てに設定する必要があり、断念いたしました。

ローカル環境の既存システムも結局はACCESSベースのシステムです。

教えてもらったアドレスはかなり参考になります。有難うございました。

2005/11/03 19:46:05
  • id:andi
    xmlHttpRequest

    ここの回答を考えていて思い出したのですが、xmlHttpRequestのオブジェクトを利用した方がインターネットアクセスは楽ですね。
    このオブジェクトはAJAXでも良く使われていますので気が向かれたら参考にされて下さい。

    http://www.hatena.ne.jp/1131725940

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません