2016-07-12 5 views
0

私はExcelシート(HSSFワークブック)をダウンロードする必要があります。応答では、私はボタンをクリックして、これまで、それはサーブレットを呼び出しているとき、私はExcelからjava servlet経由でダウンロード

response.setContentType("application/vnd.ms-excel"); 
     response.setHeader("Content-Disposition", 
       "attachment; filename=user.xls"); 
     OutputStream out = response.getOutputStream(); 
     workBook.write(out); 

などのコンテンツの種類とヘッダを設定しているが、Excelは、ダウンロード取得されていません。アラートで私は応答を得ています

???????????????????????????????????????????????? ??????ルート?エントリワークブック?????????????????????????????????????????????????????????????????????????? ??????????????????????

私はこの問題を解決するためのアイデアを提案します。 ありがとうございます。

+1

問題は正確に何ですか? –

+1

書き込み後に 'out.flush();'? –

+1

サーブレットにヒットしたら、Excelファイルをダウンロードする必要がありますが、それは起こっていません。フロントエンドでは、私は応答に警告を入れて、私は次の "????????????????????????????????????????????????? ???????????ルート?エントリワークブック????????????????????????????????????????? ?????????????????????????????????????? " – Vijay

答えて

0

MIMEタイプを指定してください。たとえば、次のように、より一般的なソリューションについては

response.setContentType("application/octet-stream"); 

はこれを使用しよう:

String mimeType = URLConnection 
      .guessContentTypeFromName(file.getName()); 
    if (mimeType == null) { 
     mimeType = "application/octet-stream"; 
    } 

    response.setContentType(mimeType); 
+0

**プログラムの動作に変更はありません。 ** – Vijay

+0

コンテンツの長さを次のように設定してください。 'response.setContentLength((int)file.length());' – akostajti

+0

コンテンツの長さを設定しようとしました。ダウンロードしていません。紛失している他のものはありますか? – Vijay

関連する問題