「みんな教えて! 選手権!!」開催のお知らせ

ホームページビルダーにてhtmlファイル内のセルを作成しています。
そこにエクセルのセルのデーターをリンクさせたいのです。

具体例を申しますと
エクセルでは
人口推移というファイルに○○市人口というsheetがあり、男女年代地区別に管理しています。
そのデーターのうちhtmlでは
男女のみ抽出して表示したいのです。抽出・・・というよりリンクです。
エクセルのデーターが更新されれば同じようにhtml内のデーターの更新させたいのです。

htmlのエクセルのタグは
<TR>
<TD class="hpb-cnt-tb-cell1">男性人口</TD>
<TD class="hpb-cnt-tb-cell2">女性人口</TD>
</TR>
<TR>
<TD class="hpb-cnt-tb-cell1"></TD>
<TD class="hpb-cnt-tb-cell2"></TD>
</TR>
<TR>
<TD class="hpb-cnt-tb-cell1"></TD>
<TD class="hpb-cnt-tb-cell2"></TD>
</TR>
といように作成してあります。

他の方法でもよいので、良い方法がありましたらお教え下さい。

A 回答 (2件)

通常の方法ではできないので、ajaxなどによることになるでしょう。



例えば、
http://www.openspc2.org/JavaScript/Ajax/Excel/
http://blog.sorasol.co.jp/?p=13
でも、自作は面倒なので、ライブラリなどを利用するほうが簡単でしょう。
http://feed.designlinkdatabase.net/feed/outsite_ …

さらに、Win+IE限定でよければ、VBScript、ActiveXなどを利用することで直接エクセルを開くことが可能です。ただし、たいていの場合、ユーザへのセキュリティ警告がでると思う。(通常の設定であれば)
ほかにも、IE限定ならデータバインドなんていうお便利機能も用意されているけど…
http://www.makoto3.net/document/databind/databin …

いずれにしろ、ある程度の知識が必要になるでしょうし、当たり前ですが更新したエクセルデータ(またはcsvなど)のアップロード作業は必要です。

以前、似たようなことを試みたことがありますが、エクセル本体を起動する方式だと、設置は比較的簡単ですが起動に時間がかかるので、ユーザにとっては表示までに多少なりとも待つ感じがします。
その時は結局、エクセル側のマクロで『必要なデータに変換したものをアップロードする』機能を作成しておいて、更新時に自動的にtextファイルでUPするようにしてしまい、ブラウザへの出力はCGIを利用することにしました。
これだとエクセルを起動しなくても良いので、ファイルへのアクセスも気になりません。(ajax利用でもほぼ同様でしょう)
    • good
    • 0
この回答へのお礼

データーバインドで実行してみたらうまくいきました。

お礼日時:2009/05/28 18:02

私もエクセルとホームページの連携はやったことがないですが、基本的にホームページを動的に変更させたい場合は、HTMLだけではかなり手間がかかると思いますよ。


エクセルが更新されたら、誰かがHTMLソースを直接編集して、ホームページを更新するという流れになるからです。

ホームページ上からデータを直接入力して変更したり、エクセルと動的にリンクさせるには、PerlやPHPといった言語で、プログラムを組まないと出来ないと思いますよ。

また、特定データを抽出するとなると、一般的にはMySQLやOracleといったデータベースを使用します。
テキストファイルにデータを区切って記載して、データベースの代わりとすることは出来るのですが、検索に非常に時間が掛かり、管理も煩雑になるので、データが大量にある場合は、余りオススメできませんね。

一般的にエクセルをホームページで表示する場合は、ファイルにリンクを張って、直接ブラウザにエクセルを表示するやり方が多いと思いますよ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報