• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「ASP を使用して、書式付きデータを含むブックを作成し、Micros)

ASPを使用して書式付きデータを含むブックを作成し、Microsoft ExcelにMIMEコンテンツとしてストリーム配信する方法

このQ&Aのポイント
  • ASPで作成した表を、クライアント側のExcelで表示できるようにする方法について調査しています。マイクロソフトのサポートオンラインで関連するサンプルを見つけましたが、保存の仕組みやサーバへの影響について確認できていません。
  • 上記のスクリプトはExcelへのコンテンツをストリーム配信するためのもので、保存の仕組みは不明です。サンプルにはファイル名の指定箇所がなく、サーバへの保存の有無についても疑問があります。
  • もし配信されたデータが保存されないのであれば、多数の人が実行してもサーバへの影響はないため、この方法を取り入れることを検討しています。しかし、具体的な仕組みや確証についてはまだ分かっていません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> Response.ContentType = "application/vnd.ms-excel" これは、「これから送信するデータはExcel用のデータです」とブラウザに指示しているだけです。 実際に送信されるデータはhtml形式のままのはずです。 しかし、最近のExcelはhtmlのデータを扱えるので、まるでサーバーでExcelのデータを作ってダウンロードさせているように見えるだけです。

tsubu_0027
質問者

補足

早速のご回答、有難うございました。 クライアント側のExcelの HTML読み込み機能を使って、送信されたHTML形式のデータを表示しているだけなんですね。 それなら、サーバの負担になりませんね。 このやり方で、進めてみたいと思います。 有難うございました。 ただできれば、 <HTML xmlns:x="urn:schemas-microsoft-com:office:excel"> の意味も教えていただければ、と思います。 ブラウザでエクセルを立ち上げるための指定なのでしょうか。 Response.ContentType = "application/vnd.ms-excel" と重複するような気がしますが。

その他の回答 (1)

回答No.2

この短いサンプル、なんとなくボーっと最後まで眺めてみましたか? <html> のタグが 2回出てきます。 後半に出てくるシンプルな <html> はこのページを初回ブラウザで表示させるときの html ソースです。 前半に出てくる、質問に有る html が Excel で開くためのものです。 初回にブラウザで開く html には form があり、i と j という名前の textbox、それから submit ボタンがあります。 submit ボタンを押すと、ふたたび同じページを web サーバーに要求します。 この時 web サーバーは i という名前のテキストボックスに何か値が入っていれば 「初回ではない」 という判断をし、Excel に開いてもらいたい html を出力します。 適当な値を入れた新規の Excel ファイルを html 形式で保存し、作成された html ファイルをメモ帳で開いてみてください。 <html> タグに同じような事が書いてあります。

tsubu_0027
質問者

補足

ご指定のように、iとjに値を入力して、作成された新規の Excel ファイルを html 形式で保存し、メモ帳で開いてみました。 (1)<HTML xmlns:x="urn:schemas-microsoft-com:office:excel"> (2)<HTML>タグを単純に<HTML>としたもの ・上記の2つを実行したところ、動作としては全く同じでした。 ・メモ帳で開いたHTMLのソースでは、(2)の方が、excelのworksheetのオプションの設定のところで7行余分な記述あっただけで、あとは全部一致していました。 以上から、(1)ではなく(2)にしても、あまり影響が無いのかな、と思いました。 ただ、IE7でテストした結果なので、ブラウザが違うと、また動作が変わってくる可能性もありそうです。 今後、いろいろテストしながら、良い方法を探していきたいと思います。 有難うございました。

関連するQ&A