当xlsx文件返回jax rs get时,会发生java文件格式或内容问题

ojsjcaue  于 2021-06-26  发布在  Java
关注(0)|答案(0)|浏览(229)

在这个场景中,我使用一个现有的xlsx文件作为模板(它有多个工作表),并将数据写入其中,以字节数组的形式获取工作簿数据,然后下载该文件。

@RequestMapping(method = RequestMethod.GET, value = "/download-excel")
  public ResponseEntity downloadExcel(@RequestParam("businessId") String businessId) throws Exception {
    final byte[] data = productService.productDownloadXls(businessId);
    HttpHeaders header = new HttpHeaders();
    header.setContentType(MediaType.parseMediaType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"));
    header.set(HttpHeaders.CONTENT_DISPOSITION, "inline; filename= prodcuts.xlsx");
    header.setContentLength(data.length);

    return new ResponseEntity<>(data, header, HttpStatus.OK);
}

所以我根据xlsx文件使用了mimetype,但是在打开并保存文件后仍然会出现这个错误。是什么原因造成的?有什么建议可以克服这个问题吗?目前正在使用libre office 5和ms office 2016版本。使用的apache poi版本:4.1.2

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题