简体   繁体   English

从 Rest API 响应内容处置输出 [Object, Object] 下载 javascript 中的 excel 文件

[英]Download excel file in javascript from Rest API response content-disposition outputs [Object, Object]

I want to download a excel file from my angularJs code.我想从我的 angularJs 代码中下载一个 excel 文件。 Where i made a http post request to Java Rest API and returned the file with header "Content-Disposition" : "attachment; filename=\"new_excel_file.xlsx\""我向Java Rest API发出http post请求并返回带有标题“Content-Disposition”的文件:“附件;文件名=\”new_excel_file.xlsx\“”

Java Code Java 代码

@Post 
@Path("/excel/trekResult")
@Produces("application/vnd.ms-excel")
public Response getResultsReport(@HeaderParam(Constants.ID) Long userId, @QueryParam(Constants.COMPANY_TREK_ID) Integer companyTrekId) {
String CONTENT_DESPOSITION = "Content-Disposition";
String CONTENT_ATTACHEMENT = "attachment; filename=\"new_excel_file.xlsx\"";

//Generates a excel file in local file system
File excelFile = misHelper.writeToFile(workBook, mis, userId, "trek-results");

return Response.ok().entity((Object)excelFile).
    header(CONTENT_DESPOSITION, CONTENT_ATTACHEMENT).build();

}

On Javascript Side在 Javascript 方面

myService.exportResult($scope.companyTrek.id).then(function(result) {
  if(result !== undefined || result !== '') {
    var blob = new Blob([result], {
      type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
    });
    var objectUrl = URL.createObjectURL(blob);
    saveAs(blob, 'Trek-Results-'+fetchCurrentDate()+ '.xlsx');
  }
}

Used FileSaver.js to save file.使用 FileSaver.js 保存文件。

The output file is [Object, Object]输出文件为 [Object, Object]

Tested The locally generated file.已测试本地生成的文件。

Here is a similar question for reference that didn't help me.这是一个类似的问题供参考,但对我没有帮助。

receive an excel file as response in javascript from a Rest service 从 Rest 服务接收 excel 文件作为 javascript 响应

I just noticed the Mime types are different on Java server vs Angular client.我刚刚注意到 Java 服务器和 Angular 客户端上的 Mime 类型不同。
This link shows the different MIME types related to spreadsheets.链接显示与电子表格相关的不同 MIME 类型。
Try making them consistent and seeing if that fixed it.尝试使它们保持一致,看看是否解决了它。
There was also this way without mishelper.也有这样的方法,不用误人子弟。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM