This commit is contained in:
caozehui
2024-12-09 20:00:41 +08:00
parent ae4f4485fc
commit 0bf8a6e19e

View File

@@ -2,6 +2,7 @@ package com.njcn.web.utils;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.hutool.core.util.CharsetUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.usermodel.Workbook;
@@ -11,6 +12,8 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* @author caozehui
@@ -59,4 +62,24 @@ public class ExcelUtil {
log.error(">>> 导出数据异常:{}", e.getMessage());
}
}
/**
* 指定名称、sheet名多个sheet、数据多组数据下载报表
*
* @param fileName 文件名
* @param sheetsList
*/
public static void exportExcel(String fileName, List<Map<String, Object>> sheetsList) {
HttpServletResponse response = HttpServletUtil.getResponse();
try (ServletOutputStream outputStream = response.getOutputStream()) {
fileName = URLEncoder.encode(fileName, CharsetUtil.UTF_8);
response.reset();
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
response.setContentType("application/octet-stream;charset=UTF-8");
Workbook workbook = ExcelExportUtil.exportExcel(sheetsList, ExcelType.HSSF);
workbook.write(outputStream);
} catch (IOException e) {
log.error(">>> 导出数据异常:{}", e.getMessage());
}
}
}