我正在使用 Apache POI 生成 .xlsx 文件。
我想从 Spring 控制器返回那个文件。这是我到目前为止所做的:
控制器:
@RequestMapping(method = RequestMethod.GET)
public HttpEntity<byte[]> createExcelWithTaskConfigurations(HttpServletResponse response) throws IOException {
byte[] excelContent = excelService.createExcel();
HttpHeaders header = new HttpHeaders();
header.setContentType(new MediaType("application", "vnd.openxmlformats-officedocument.spreadsheetml.sheet"));
header.set(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=my_file.xls");
header.setContentLength(excelContent.length);
return new HttpEntity<>(excelContent, header);
}
是否可以从 rest 控制器返回实际的 excel 文件,以便用户可以将其下载到他的计算机上?至于现在控制器返回 byte[] 但我想返回它实际文件。我怎样才能做到这一点?
原文由 Martin Čuka 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用
ByteArrayResource
作为文件下载。下面是你修改后的代码片段如果您尝试使用 apache poi 生成 excel,请在下面找到代码片段