需求
1、springboot项目,在项目中放置一个模版EXCEL,然后通过连接下载下来
@Log("供应商-下载导入模板")
@ApiOperation(value = "供应商-下载导入模板", response = String.class)
@GetMapping(value = "/downloadSupplierTemplate")
@AnonymousAccess
public void supplierTemplate(HttpServletResponse response) throws Exception {
supplierService.downloadSupplierTemplate(response);
}
/**
* 供应商-下载导入模板
*
* @param response
* @return
*/
void downloadSupplierTemplate(HttpServletResponse response) throws Exception;
@Override
public void downloadSupplierTemplate(HttpServletResponse response) throws Exception {
DateTimeFormatter format = DateTimeFormatter.ofPattern("yMMddHHmmss");
LocalDateTime dataTime = LocalDateTime.now();
//格式化,不能用Date类的实例作为参数
String dateTimeStr = format.format(dataTime);
System.out.println(dateTimeStr);
String fileName = "催收供应商导入" + dateTimeStr + ".xlsx";
try {
fileName = URLEncoder.encode(fileName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String fileSuffix = "template/supplier/supplier_settlement.xlsx";
InputStream inputStream = getClass().getClassLoader().getResourceAsStream(fileSuffix);
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
// 设置输出的格式
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ";" + "filename*=utf-8''" + fileName);
response.addHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
workbook.write(response.getOutputStream());
workbook.close();
}