Angular2 – 下载从RestService收到的XLS

我想让WS使用apachePOI生成一个Excel(xls,xlsx)文件。 我做了类似下面的代码

@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。 调用此服务,如:

  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); 

我收到一些错误,如:406(不可接受)。 我试着在论坛上find所有可能的解决scheme,但没有成功。

您的Accept头build议响应具有xslx文件格式( application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ),但是您发送的文件具有扩展名.xls

将文件的扩展名更改为.xlsx或使用MIMEtypesapplication/vnd.ms-excel