导出单个Excel
public static void downReportData(File file, HttpServletResponse response) {
try (
InputStream fis = new BufferedInputStream(new FileInputStream(file));
OutputStream out = new BufferedOutputStream(response.getOutputStream())
){
response.reset();
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(file.getName(), "UTF-8"));
// buffer分片写,不然内存会爆
byte[] buffer = new byte[1024 * 1024];
int i;
while ((i = fis.read(buffer)) != -1) {
out.write(buffer, 0, i);
}
} catch (Exception e) {
log.error("report data down occur exception,Reason{}", e.getMessage(), e);
throw new BizException("report data down occur exception", CommonEnum.BUSSINESS_EXCEPTION.getCode());
}
}