-PR-
締切り
済み

Web Page 上にグラフ表示したい

  • 暇なときにでも
  • 質問No.1435
  • 閲覧数820
  • ありがとう数21
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 0% (0/3)

SQL Server 7.0 のデータを抽出して Web Page 上にグラフ表示したいのですが、
良い方法はありますでしょうか?
漠然と ASP と Excel を使えば可能かなあなんて考えているのですが・・・。
ご存知の方がいらっしゃいましたら教えてください。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全3件)

  • 回答No.1
レベル11

ベストアンサー率 47% (95/199)

どんなグラフなのかにもよりますが、棒グラフなら簡単ですね。 四角い画像ファイルを抽出した値によって縦、あるいは横の長さを変えてやれば立派な棒グラフになります。 円グラフ、折れ線グラフとなるとちょっと・・・。 IE4あるいは5を使うということが前提なら、IEのウインドウの中にExcelのシートを表示するということが可能ですので、「外部データの取り込み」を使ってSQL ServerのデータをExcel上 ...続きを読む
どんなグラフなのかにもよりますが、棒グラフなら簡単ですね。
四角い画像ファイルを抽出した値によって縦、あるいは横の長さを変えてやれば立派な棒グラフになります。
円グラフ、折れ線グラフとなるとちょっと・・・。
IE4あるいは5を使うということが前提なら、IEのウインドウの中にExcelのシートを表示するということが可能ですので、「外部データの取り込み」を使ってSQL ServerのデータをExcel上に取り込んで、それをグラフにしてやればOKですね。
HTMLの中に表示するとなると、抽出した値によって画像ファイルを作成するということが必要になると思います。ASPにそういうグラフィックをサポートしたコンポーネントがあるかどうか調べてみたらいかがでしょうか?
補足コメント
smiley666

お礼率 0% (0/3)

smiley666です。早速のお返事まことにありがとうございました。
自分の質問に返事できないので補足にさせていただきます。
現在のところ、ExcelのシートをHTMLのタグ、<a href="">で貼り付けると、IE5で参照できることがわかっています。ですから、後は画面から入力された条件でSQLServerからデータ抽出し、それをExcelに落としてHTMLを自動生成すれば大丈夫だと思うのですが、その際の問題点がまだ見えてこないので、ご存知の方がおられましたらお教え願いたいなあと思います。
投稿日時 - 0000-00-00 00:00:00

  • 回答No.2
レベル11

ベストアンサー率 47% (95/199)

補足を拝見しました。 ブラウザにInternetExplorer(4以降)を使うのであれば、ブラウザの中にExcelのシートを表示できますので、それを前提にし、なおかつサーバーはIISでASPを使うことを前提にいたします。 「AspExec」というフリーのコンポーネントがありますので、これをサーバーに登録します。 ASPのスクリプトで必要なデータを抽出して、別のテーブルにInsertします。 ...続きを読む
補足を拝見しました。
ブラウザにInternetExplorer(4以降)を使うのであれば、ブラウザの中にExcelのシートを表示できますので、それを前提にし、なおかつサーバーはIISでASPを使うことを前提にいたします。
「AspExec」というフリーのコンポーネントがありますので、これをサーバーに登録します。
ASPのスクリプトで必要なデータを抽出して、別のテーブルにInsertします。

Excel上でVBAを使って次の動作を自動的にさせます。
1.ExcelのBook(Book1.xlsとします)のSheetに「外部データの取り込み」を使って、先ほどのテーブルとリンクさせます。
2.リンクしたテーブルのデータを元に別のBook(Book2.xlsとします)にOLEを使ってグラフを作成します。
3.作成し終わったらBook2.xlsを上書き保存させます。
4.Book1.xlsも自動的に終了させます。
このマクロはBook1.xlsを開いたら自動的に動くようにしておいてください。

ASP上でBook1.xlsをサーバー上で開かせます。

Set objAspExec = Server.CreateObject("AspExec.Execute")
objAspExec.Application = "C:\Program Files\Microsoft Office\Office\excel.exe"
objAspExec.Parameters = "(Book1.xlsのサーバーのローカルでのパス)"
objAspExec.ShowWindow = False
objResult = objAspExec.ExecuteWinAppAndWait
Set objAspExec = Nothing

このコードによってサーバー上で自動的にExcelが非表示で起動してBook1.xlsを開きます。ExcelのBook1.xlsは登録VBAを自動実行してBook2.xls上にグラフを描画して上書き保存して終了します。

HTML上でBook2.xlsへのリンクを記載しておいて、そのリンクをクリックすればブラウザの画面にExcelのBookが開いてグラフが表示されるはずです。

ただし、このしくみは同時アクセスができないということです。複数のクライアントから同時アクセスするとExcelが同時にBookを編集しようとするので、おかしな事になるかもしれません。
  • 回答No.3
レベル11

ベストアンサー率 47% (95/199)

No2の補足です Book2.xlsをHTML形式で保存したら勝手にExcelがHTMLを吐き出して、どんなグラフでもHTML上で表現できそうです。
No2の補足です
Book2.xlsをHTML形式で保存したら勝手にExcelがHTMLを吐き出して、どんなグラフでもHTML上で表現できそうです。
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
この機能便利!私も使い方分からなかった!あなたの経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ