下载文件到客户端
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
//把文件输入流写入到字节输出流中,然后把该输出流写到repsonse的输出流中来实现下载文件功能
workbook.write(byteOut);
workbook.close();
ServletOutputStream out = response.getOutputStream();
//文件名
String fileName = "activeData.xlsx";
boolean isIeBrowser = request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0;
if (isIeBrowser) {
fileName = URLEncoder.encode(fileName, "UTF-8");
} else {
fileName = new String(fileName.getBytes(), "ISO8859-1");
}
//contentType需根据下载文件来设置不同的mime(可百度)
response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
out.write(byteOut.toByteArray());