Explorar el Código

Excel支持sort导出排序

RuoYi hace 5 años
padre
commit
c404c280f7

+ 5 - 0
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/annotation/Excel.java

@@ -15,6 +15,11 @@ import java.lang.annotation.Target;
15 15
 public @interface Excel
16 16
 {
17 17
     /**
18
+     * 导出时在excel中排序
19
+     */
20
+    public int sort() default Integer.MAX_VALUE;
21
+
22
+    /**
18 23
      * 导出到Excel中的名字.
19 24
      */
20 25
     public String name() default "";

+ 3 - 0
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java

@@ -9,10 +9,12 @@ import java.math.BigDecimal;
9 9
 import java.text.DecimalFormat;
10 10
 import java.util.ArrayList;
11 11
 import java.util.Arrays;
12
+import java.util.Comparator;
12 13
 import java.util.Date;
13 14
 import java.util.HashMap;
14 15
 import java.util.List;
15 16
 import java.util.Map;
17
+import java.util.stream.Collectors;
16 18
 import javax.servlet.http.HttpServletResponse;
17 19
 import org.apache.poi.hssf.usermodel.HSSFDateUtil;
18 20
 import org.apache.poi.ss.usermodel.BorderStyle;
@@ -739,6 +741,7 @@ public class ExcelUtil<T>
739 741
                 }
740 742
             }
741 743
         }
744
+        this.fields = this.fields.stream().sorted(Comparator.comparing(objects -> ((Excel) objects[1]).sort())).collect(Collectors.toList());
742 745
     }
743 746
 
744 747
     /**