• 締切済み

JSPからエクセルダウンロードでIEが強制終了

WEBサーバーにJSPでエクセルのダウンロード機能を作成しましたが 実際にIEでエクセルのダウンロードを行うと、使用する端末によって元画面が強制終了してしまいます。正常にダウンロードできる端末もあります。 ソースコードのヘッダ部は下記のように記述しています。 <%@ page contentType="application/vnd.ms-excel; charset=WINDOWS-31J"%> <%response.setHeader("Content-Disposition","attachment; filename=sample.xls"); 問題は、IEの設定でしょうか? もし対応方法があれば教えて頂けないでしょうか? よろしくお願いします。

  • Java
  • 回答数1
  • ありがとう数2

みんなの回答

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

せめて環境ぐらいは書きましょう。 どのクライアントでエラーになって、どのクライアントではうまくいく など あとは再現条件などがあれば回答も得られやすいかと思います。 ちなみに、contentTypeのcharsetは要らないと思います。 charsetはテキストの時しか使いません。バイナリの時は無意味です。

関連するQ&A

  • EXCELファイルの複数ダウンロードについて

    お世話になっております。 【環境】 ASP.NET(VB) IIS 【質問】 ボタン押下時に2つの異なる帳票(A帳票.xls、B帳票.xls)を作成し、別々にダウンロード処理をさせたいのですが、上記2帳票を別々にダウンロードさせるための実装方法がわかりません。 1つの帳票でしたら、下記の実装方法でダウンロードをすることが確認できました。 Response.Clear() Response.ContentType = "application/vnd.ms-excel" Response.Charset = "" Response.AddHeader("content-disposition", "attachment; filename=A帳票.xls") Response.WriteFile("D:\temp/A帳票.xls") どなたかご存知の方がいらっしゃれば、ご教授ください。 よろしくお願いいたします。

  • Excelの保存について

    お世話になります。 <環境>  Web/DBサーバー    Windows2003Server    IIS6.0    SQL Server2000  クライアントPC    WindowsXP Pro /Windows7 Pro    ブラウザ IE7/8/9    Excel 2003/2007/2010 ASPにてSQLよりデータを抽出し、Webページ上に表示された内容をダウンロードボタンを押すことによりExcelにて保存できるようにしております。 Response.ContentType = "Application/vnd.ms-excel" Response.AddHeader "Content-Disposition", "attachment;filename=filemane.xls" Excel2003では保存したExcelは問題なく開けるのですが、Excel2007及び2010で保存し開こうとすると『開こうとしているファイル"○○○○○.xls"の形式は、ファイル拡張子が示す形式と異なります。このファイルを開く前に、ファイルが破損していないこと、信頼できる発行元からのファイルであることを確認してください。ファイルを今すぐ開きますか?』とメッセージが表示されてしまいます。 調べたところ、2007以降のバージョンでは拡張子とファイルの内容が一致しない場合に、確認メッセージを表示する機能が追加されたようです。 対処として、 Response.ContentType = "Application/vnd.openxmlformats-officedocument. spreadsheetml.sheet" Response.AddHeader "Content-Disposition", "attachment;filename=filemane.xlsx" とやってみましたが、やはりメッセージは表示されます。 『はい』を選択すると普通に開き、保存しなおすとそのファイルではメッセージは表示されなくなくなるのですが、できればこの手間は省きたいところです。 どのバージョンのExcelで保存した場合でも、開く際に上記メッセージを表示させないようにするにはどのようにすればよいでしょうか。 ご教授の程、宜しくお願い致します。

  • ファイルのダウンロード先を初期設定するには?

    サーブレットにファイルをダウンロードする機能を入れたいと思って います。 現在、HttpServletResponseオブジェクトを使用して下記のようにコー ディングしています。 ============================================= response.setHeader("Content-Disposition", "attachment;filename=sample.xls"); response.setContentType("application/vnd.ms-excel"); ============================================= これで問題なくダウンロードは出来るのですが、ダウンロード先の初期 表示をブラウザ(現在、IEを使用してます)に依存するのではなく、予 め指定したフォルダを初期表示して欲しいとの要望がありました。 ダウンロード先を初期設定するとはいえ、ユーザーが自由にファイル名 やダウンロード先を指定する機能は必要なので、FileOutputStreamを使 用してのファイルの保存は考えていません。 どのようにすれば、実現するのでしょうか? また、ファイルのダウンロード先を初期設定することは可能なのでしょ うか? それさえ判断が出来ずに困っています。 もし絶対に無理!ということであれば、それを教えて頂けるだけでも助 かります。

    • ベストアンサー
    • Java
  • ASPでExcelファイルのダウンロード

    はじめて質問します。 よろしくお願いいたします。 さて、現在ASPでDBから取得したデータをExcelでダウンロードする機能を実装しています。 ダウンロード自体は問題なくできています。 #ソース Response.ContentType = "application/octet-stream" Response.AddHeader "Content-Disposition","attachment; filename=sample.xls" Response.Write "項目1" & vbTab & "項目2" Response.End #ここまで この状態ですと、「sample」というSheetのA列とB列にそれぞれ、項目1と項目2が入っているExcelファイルがダウンロードできます。 ここからが質問で、今回シートを4枚設けたいと考えています。現状では「ファイル名」のSheetが一枚できるだけなので、複数のSheetにそれぞれデータを書き込む方法をご存知の方はいらっしゃらないでしょうか? なお、Excelのライブラリを使用しない方法がベストと考えています。 以上、長々となりましたが、よろしくご教示ください。

  • クライアントのファイルダウンロード後にサーバー側のファイルを削除したい

    お世話になっております。 ASP.NET(VB)を用いてExcelのファイルを操作保存し、保存してあるファイルをクライアントにダウンロードさせた後にExcelのファイルを削除させようとしています。 ですが、ファイルダウンロード実行する前にファイルが削除されています。 感じとしては、IEにダウンロードするように命令するのですが、そのレスポンスが遅くて削除になってしまっている感じがします。 できればクライアントのダウンロード完了をきっかけに削除するようなコードにしたいです。 どなたかご教授願えませんでしょうか。 以下 コード オブジェクトの宣言、処理 (省略) '*ファイル保存ブロック* 開始 '保存ファイル名 xlFilePath = ("C:\0.xls") '保存時の問合せのダイアログを非表示に設定 xlApp.DisplayAlerts = False xlSheet.SaveAs(xlFilePath) xlApp.DisplayAlerts = True Excel終了、オブジェクト解放 (省略) '*excelファイルダウンロードブロック* 開始 Response.Clear() Response.ContentType = "Application / vnd.ms - Excel" Response.AddHeader("Content-Disposition", "attachment;filename=" & "0.xls") Response.WriteFile("c:\0.xls") My.Computer.FileSystem.DeleteFile("c:\0.xls") 処理終了

  • ファイルダウンロード後のフォワードについて

    サーブレット内で、ファイルのダウンロードをした後に処理をJSPへフォワードしたいのですが、現在、ダウンロードしたあとフォワードしてもJSPが機能しなくて困りました。 コードとしては以下の通りです(一部抜粋ですみません) /* ファイルダウンロードの設定 */ response.setContentType("application/octet-stream; charset=Shift-JIS"); response.setHeader("Content-disposition","attachement; filename= "+sgy_y+sgy_m+"_"+simekbn+".csv"); PrintWriter pw = response.getWriter(); /* CSVファイル出力 */ pw.println("あああ,いいい,ううう,えええ,おおお"); pw.println("かかか,ききき,くくく,けけけ,こここ"); pw.println("さささ,ししし,すすす,せせせ,そそそ"); pw.close(); /* JSPへフォワード */ getServletConfig().getServletContext().getRequestDispatcher("/xxx.jsp").forward(request,response); 何か良いアドバイスがありましたら、宜しくお願いします。

    • ベストアンサー
    • Java
  • CSVファイルのダウンロードについて

    サーバー上にアップしたcsvファイルにアクセスすると ダウンロードの確認ダイアログが出ずに 画面上にテキストベースで表示されてしまいます。 フォルダオプションの設定で ダウンロード後に開くを確認するのチェックボックスを チェックしましたがうまくいきません。 宜しくお願いします。 ※Webサーバー・・・JRUN4 <-- sample.jsp --> <% response.setContentType("application/octet-stream-dummy; charset=iso-2022-jp"); %> <% response.setHeader("Content-Disposition","inline; filename=aaa.csv"); %> top.location.href=~aaa.csv ← ファイルのフルパス

    • ベストアンサー
    • Java
  • ASPでエクセルの印刷定義・・・

    ASPの初心者です。皆さんご教授願います。 上手くお伝えできるかどうかも不安ですが・・・  ASPでエクセルを起動しています。  そのエクセルをA4横とか、ページヘッダとかページを指定したい(ASP上で)のですが、どのような設定、スクリプトになるんでしょうか? ちなみに・・・ Response.Clear() Response.ContentEncoding = System.Text.Encoding.GetEncoding("shift-jis") Response.ContentType = "application/vnd.ms-excel" Response.AppendHeader("Content-Disposition", "inline;filename=out_excel.xls;") Response.Write("<table>") Response.Write("<tr>") : : Response.Write("</tr>") Response.Write("</table>") Response.End() でエクセルを表示しています。 (Win2K,asp.net) 上手くお伝えできなかったら、すみません。 よろしくお願いします。

  • ダウンロードが正常終了するけど件数が少ない。。。

    こんにちわ。 サーブレットであるファイルをダウンロードしようとしたら 実際のファイルの半分程度しかダウンロードできませんでした。 ちなみにアクセスログ上はダウンロード失敗等のエラーもでていません でした。。。 回線が途切れたわけでもないのにこのような現象が起こりえるのでしょうか? response.setHeader("Pragma", "private"); response.setHeader("Cache-control", "private"); response.setHeader("Content-Disposition", "inline; filename=\ファイルパス\"); response.setContentType("text/*; encoding=Shift_JIS"); の様な感じです。。。。 まず、HTTP上で消える、切れる等が起こりえるのでしょうか? どなたか経験のある方がいらっしゃればよろしくお願いします。

    • ベストアンサー
    • Java
  • ファイルのダウンロードダイアログが2度表示される

    いつも拝見させて頂いており、お世話になっています。 ただ今困った事象が発生していて、お知恵をお借りしたく、投稿させて頂きます。 サーブレットで CSV データを作成し、直接データをダウンロードさせたいのですが、 OSが「WindowsXP SP1(SP2では未確認)」だと、ファイルのダウンロードダイアログで ”開く”を選択すると、同じダイアログが 2度表示されてしまいます。 (2度とも”開く”を選択すると、問題なくファイルは開かれます) ”保存”を選択した場合は2度は表示されません。 また、「Windows2000」の場合はこのような現象は発生しません。 ソースの要所は以下のようになっています。 response.setContentType("application/x-download;charset=Windows-31J"); response.setHeader("Content-Disposition", "attachment; filename=\"***.xls\""); 上記の1行目の「x-download」は「octet-stream-dummy」「msexcel」で 試してみましたが、結果は変わりませんでした。 また、2行目の「attachment」を「inline」にすると、 2度ダイアログが表示されるのは回避できますが、”開く”を選択すると ブラウザにExcelファイルの内容が表示されてしまいます。 もしかするとプログラムではなく端末の設定の問題かもしれませんが、 手元には2000とXPが1台づつあるだけなので、 これもなんともいえません。 どなかた解決方法をご存知の方がおられましたら、 御教授頂けますでしょうか。 よろしくお願いします。

専門家に質問してみよう