From 443e32fec6aec9dfa2ca802246950dc3c36e6251 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期五, 25 七月 2025 15:35:12 +0800 Subject: [PATCH] 保存一个版本 --- zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/ExcelUtil.java | 61 ++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/ExcelUtil.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/ExcelUtil.java index f7f47b6..43ec024 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/ExcelUtil.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/ExcelUtil.java @@ -6,6 +6,7 @@ import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -92,4 +93,64 @@ + public static <T> Workbook createXlsx(List<T> list, Class<T> clz) { + //HSSFWorkbook workbook = new HSSFWorkbook(); + XSSFWorkbook workbook =new XSSFWorkbook(); + Sheet sheet = workbook.createSheet(clz.getSimpleName()); + + Row header = sheet.createRow(0); + Field[] fields = Cools.getAllFields(clz); + int headerIdx = 0; + for (Field field : fields) { + if (Modifier.isFinal(field.getModifiers()) + || Modifier.isStatic(field.getModifiers()) + || Modifier.isTransient(field.getModifiers())) { + continue; + } + String memo = "Undefined"; + if (field.isAnnotationPresent(ApiModelProperty.class)) { + memo = field.getAnnotation(ApiModelProperty.class).value(); + } + header.createCell(headerIdx).setCellValue(memo); + headerIdx++; + } + + int rowIndex = 1; + for (T t : list) { + Row row = sheet.createRow(rowIndex++); + + int cellIndex = 0; + for (Field field : fields) { + if (Modifier.isFinal(field.getModifiers()) + || Modifier.isStatic(field.getModifiers()) + || Modifier.isTransient(field.getModifiers())) { + continue; + } + + field.setAccessible(true); // 姝よ寰堥噸瑕侊紝鐗瑰埆鏄瓧娈典负private鏃� + Object value = null; + try { + value = field.get(t); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + if (value != null) { + if (value instanceof Date) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + row.createCell(cellIndex).setCellValue(sdf.format((Date) value)); + } else { + row.createCell(cellIndex).setCellValue(value.toString()); + } + } + cellIndex++; + } + } + + for (int i = 0; i <= fields.length; i++) { + sheet.autoSizeColumn(i); + } + + return workbook; + } + } -- Gitblit v1.9.1