2016-12-05 12 views
1

apachePOIを使用してExcel(xls、xlsx)ファイルを生成するWSを作成します。私は次のようなコードを作った。Angular2 - RestServiceからXLSをダウンロード

@RequestMapping(value = "/export", method = RequestMethod.GET) 
public void exportXlsx(HttpServletResponse response) { 

    // getting datas for file 
    try { 

     Workbook wb = //creating the file 
     response.setHeader("Content-Disposition", "attachment; filename=" + entity.getType() + ".xls"); 
     wb.write(response.getOutputStream()); 
    } catch (IOException | EncryptedDocumentException e) { 
     Logger.getLogger(e.getStackTrace().toString()); 
    } 
} 

このサービスは動作していて、私がサービスを呼び出す場合は正しいファイルを返す。 Angular2を使ったGUIをこのサービスに追加する必要があります。 406(許容できない):

let headers = new Headers({ 'Content-Type': 'application/json', 'Accept': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); 
    let options = new RequestOptions({ headers: headers }); 
    return this.http.post("URL", options); 

私のようないくつかのエラーを受信して​​います: は次のように、このサービスを呼び出します。 私はフォーラムで見つけたすべての可能な解決策を試しましたが、成功しませんでした。

答えて

0

Acceptヘッダーには、応答にxslxファイル形式(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)が含まれていますが、送信するファイルの拡張子は.xlsです。

ファイルの拡張子を.xlsxに変更するか、またはMIMEタイプapplication/vnd.ms-excel

を使用してください
関連する問題