From e83dacb5066a86db29dbdc232218d8aba6adc95f Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 02 八月 2024 13:34:04 +0800
Subject: [PATCH] #

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/ExcelUtil.java |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/ExcelUtil.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/ExcelUtil.java
index fbeb87b..1fc6dce 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/ExcelUtil.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/ExcelUtil.java
@@ -1,6 +1,7 @@
 package com.zy.asrs.wms.utils;
 
 import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.wms.asrs.entity.MatField;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Row;
@@ -15,6 +16,7 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Created by vincent on 2/17/2024
@@ -32,6 +34,10 @@
     }
 
     public static <T> Workbook create(List<T> list, Class<T> clz) {
+        return create(list, clz, null);
+    }
+
+    public static <T> Workbook create(List<T> list, Class<T> clz, List<MatField> dynamicFields) {
         HSSFWorkbook workbook = new HSSFWorkbook();
         Sheet sheet = workbook.createSheet(clz.getSimpleName());
 
@@ -50,6 +56,14 @@
             }
             header.createCell(headerIdx).setCellValue(memo);
             headerIdx++;
+        }
+
+        //鍔ㄦ�佸瓧娈�
+        if(dynamicFields != null){
+            for (MatField field : dynamicFields) {
+                header.createCell(headerIdx).setCellValue(field.getDescribe());
+                headerIdx++;
+            }
         }
 
         int rowIndex = 1;
@@ -81,6 +95,27 @@
                 }
                 cellIndex++;
             }
+
+            //鍔ㄦ�佸瓧娈�
+            if(dynamicFields != null){
+                for (Field field : fields) {
+                    if (field.getName().equals("dynamicFields")) {
+                        try {
+                            Map<String, Object> map = (Map<String, Object>) field.get(t);
+                            for (MatField matField : dynamicFields) {
+                                Object value = map.get(matField.getName());
+                                if(value != null){
+                                    row.createCell(cellIndex).setCellValue(value.toString());
+                                    cellIndex++;
+                                }
+                            }
+                        } catch (IllegalAccessException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                }
+            }
+
         }
 
         for (int i = 0; i <= fields.length; i++) {

--
Gitblit v1.9.1