添加导出方法

This commit is contained in:
caozehui
2025-01-21 13:45:08 +08:00
parent 69d90a286c
commit 553fc4237a

View File

@@ -73,6 +73,28 @@ public class ExcelUtil {
}
}
/**
* 指定名称、sheet名、title名、数据下载报表
*
* @param fileName 文件名
*/
public static void exportExcel(String fileName, String sheetName, String title, Class<?> pojoClass, Collection<?> dataSet) {
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");
ExportParams exportParams = new ExportParams();
exportParams.setSheetName(sheetName);
exportParams.setTitle(title);
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, pojoClass, dataSet);
workbook.write(outputStream);
} catch (IOException e) {
log.error(">>> 导出数据异常:{}", e.getMessage());
}
}
/**
* 指定名称、sheet名多个sheet、数据多组数据下载报表
*
@@ -115,7 +137,7 @@ public class ExcelUtil {
cellStyle.setDataFormat(format.getFormat("@"));
for (PullDown pullDown : pullDowns) {
if (pullDown.getIsText()) {
ExcelUtil.selectListText(workbook, pullDown.getFirstCol(),cellStyle);
ExcelUtil.selectListText(workbook, pullDown.getFirstCol(), cellStyle);
} else {
String colName = numberToExcelColumn(num);
int sum = pullDown.getStrings().stream().mapToInt(String::length).sum();
@@ -191,17 +213,17 @@ public class ExcelUtil {
}
/**
* @Description:
* @param workbook
* @param firstCol
* @Description:
* @Author: wr
* @Date: 2024/8/20 10:44
*/
public static void selectListText(Workbook workbook, int firstCol,CellStyle cellStyle) {
public static void selectListText(Workbook workbook, int firstCol, CellStyle cellStyle) {
Sheet sheet = workbook.getSheetAt(0);
for (int i = 2; i < 65535; i++) {
Row row = sheet.getRow(i);
if(ObjectUtil.isNull(row)){
if (ObjectUtil.isNull(row)) {
row = sheet.createRow(i);
}
Cell cell = row.createCell(firstCol);