代码参考
ZipOutputStream zipOut = null;
ByteArrayOutputStream outputStream = null
try{
zipOut = new ZipOutputStream(response.getOutputStream());
ZipEntry zipEntry = new ZipEntry("数据_" + DateUtils.format(new Date(), DateUtils.DATE_SHORT_MONTHDAY_FORMAT) + ".xlsx");
zipOut.putNextEntry(zipEntry);
// 数据查询
List<ApplyUserStaticVO> list = null ; // 数据
// 单位
int unitCountBjDay = 1;
// 人数
int applyCountBjDay = 2;
outputStream = new ByteArrayOutputStream();
ExcelWriter excelWriter = null;
try {
WriteSheet sheet = EasyExcel.writerSheet(0, "数据"))
.registerWriteHandler(new ValueCellWriteHandler(unitCountBjDay+"",applyCountBjDay+""))
.head(ApplyUserStaticVO.class).build();
excelWriter = EasyExcel.write(outputStream).autoCloseStream(false).build();
excelWriter.write(list, sheet);
} catch (Exception e) {
throw new RuntimeException("导出Excel异常", e);
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
//刷到输出流中
outputStream.writeTo(zipOut);
zipOut.closeEntry();
}catch (Exception e){
e.printStackTrace();
log.error("下载失败:period:{},错误:{}", e.getMessage());
} finally {
if (null != outputStream) {
try {
outputStream.flush();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (null != zipOut) {
try {
zipOut.flush();
zipOut.finish();
zipOut.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}