![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
現在、以下のものを作っています。
1:ブラウザの画面に「EXCEL」というボタンを置く。
2:データをブラウザに表示する。
3:EXCELというボタンを押す
4:ブラウザに表示したデータがエクセルシート形式でそのままブラウザに表示される
こういうのを作っており、今は4の過程で以下のプログラムを入れています。
Response.AddHeader ("content-disposition", "inline; filename=" + fname + ".xls");
しかしこれですと、「ファイルのダウンロード」ボックスが出てきます。
これは、ユーザーが自分でパス指定してダウンロードさせるという方法としては良いのですが、
私がやりたいのはそれではなく、ブラウザにエクセルを表示させたいということです。
誰か知っている方がおられましたらご教授お願いします。
No.2ベストアンサー
- 回答日時:
Content-type: application/vnd.ms-excel
Content-Transfer-Encoding: base64
Content-Disposition: inline;filename=hoge.xls
というヘッダーに変えてみてください。
それでもだめなら、
Content-type: application/vnd.ms-excel
だけにしてみてください。
わざわざありがとうございました。
おっしゃるとおりやってみましたが、それでも
ダウンロードボックスが出てきます。
ダウンロードボックスを出さないでブラウザに表示させることがどうしてもできません。
ちなみに以下のやり方でやっています。
C#です。
Response.ContentType= "application/vnd.ms-excel";
Response.AppendHeader("Content-Transfer-Encoding", "base64");
Response.AddHeader ("content-disposition", "inline; filename=hoge.xls");
// EXCELの出力用のメモリストリームを作成します。
System.IO.MemoryStream memStream = new System.IO.MemoryStream();
// メモリストリームにEXCELエクスポートを行います。
this.xls.Export(rpt.Document, memStream);
// 出力ストリームにEXCELのストリームを出力します。
Response.BinaryWrite(memStream.ToArray());
// バッファリングされているすべての内容をクライアントへ送信します。
Response.End();
↑このやり方でやっても、ヘッダの部分
Response.ContentType= "application/vnd.ms-excel";
Response.AppendHeader("Content-Transfer-Encoding", "base64");
Response.AddHeader ("content-disposition", "inline; filename=hoge.xls");
の部分を
Response.ContentType= "application/vnd.ms-excel";
だけにしても、結果は同じです。
どうしてもブラウザにそのまま表示させることができないのです。
他にやり方はありませんか?
私の方でも色々調べてみたのですが、分かりませんでした。すみません。
No.3
- 回答日時:
うーん、ブラウザのバージョンなどでもかなり挙動が違うので有名ですからね。
以前ためしに
Content-type: text/html;
Content-Disposition: inline; filename=hoge.xls
でうまくいったことがありました。
なぜtext/htmlでうまくいったのかはわかりませんでしたが…
一度試してください。
No.1
- 回答日時:
エクセルシートをそのまま表示したいのであれば、ファイル名をURLに指定するだけで表示されます。
(IEの場合のみです)ASPのコードまでは分りませんが、行き先をファイルにすればできると思います。
ご教授ありがとうございました。
現在はC#でやっています。
Response.ContentType= "application/vnd.ms-excel";
Response.AppendHeader("Content-Transfer-Encoding", "base64");
Response.AddHeader ("content-disposition", "inline; filename=hoge.xls");
// EXCELの出力用のメモリストリームを作成します。
System.IO.MemoryStream memStream = new System.IO.MemoryStream();
// メモリストリームにEXCELエクスポートを行います。
this.xls.Export(rpt.Document, memStream);
// 出力ストリームにEXCELのストリームを出力します。
Response.BinaryWrite(memStream.ToArray());
// バッファリングされているすべての内容をクライアントへ送信します。
Response.End();
↑このやり方でやっても、ヘッダの部分
Response.ContentType= "application/vnd.ms-excel";
Response.AppendHeader("Content-Transfer-Encoding", "base64");
Response.AddHeader ("content-disposition", "inline; filename=hoge.xls");
の部分を
Response.ContentType= "application/vnd.ms-excel";
だけにしても、結果は同じです。
どうしてもブラウザにそのまま表示させることができないのです。
他にやり方はありませんか?
私の方でも色々調べてみたのですが、分かりませんでした。すみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのシートをブラウザに...
-
PC/ケータイ/フルブラウザ@ケ...
-
Macで見るとページが崩れます。
-
AfterEffectsでイージーイーズ...
-
H1タグに改行の<br>を使う
-
掲示板からIPアドレスってど...
-
リーバイス?
-
テーブルのセルデータを自動改...
-
VBE でスペースと改行を見える...
-
ソースコードのインデントについて
-
target="_blank"とは何の意味で...
-
aviutlで最後まで動画が読み込...
-
Eclipseの空白が変な...
-
リンクの範囲がおかしい?
-
ジャケットの革の素材がわかり...
-
php でtabを空白に変換して表示...
-
mailto:メール本文内の改行方法
-
<a href=... title="ここ">の部...
-
Mayaレンダリングの中断
-
MMDのAVI出力にとんでもなく時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GoogleChromeでレイアウトが左...
-
WindowsとMacでのChromeのスタ...
-
<IMG>のALIGN属性値「absmiddle...
-
WEBページからのメッセージをVBAで
-
doc As HTMLdocumentのコンパイ...
-
tabキーによるfocusの当たり方...
-
プルダウン(リストボックス)の...
-
主要ポータルサイトの多くがス...
-
DOCTYPE宣言はしなくていいの?
-
HTMLのバージョンの確認方法は?
-
HTML文書を上書き保存してもブ...
-
VBA オブジェクトが必要です
-
エクセルでURLからタイトルのみ...
-
スマホでページ内リンクができない
-
webページの有効期限が切れてい...
-
起動済みのIEをハンドルから操...
-
アプレット XXXXXX notinited ...
-
エクセルのシートをブラウザに...
-
Macで見るとページが崩れます。
-
Dreamweaver使用 各種ブラウザ...
おすすめ情報