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