Commit ec096965123b1e341f1ec80ea674c3d7de485d2e

Authored by RuoYi
1 parent bc56aae2

Excel支持sort导出排序

ruoyi/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
... ... @@ -11,11 +11,13 @@ import java.math.BigDecimal;
11 11 import java.text.DecimalFormat;
12 12 import java.util.ArrayList;
13 13 import java.util.Arrays;
  14 +import java.util.Comparator;
14 15 import java.util.Date;
15 16 import java.util.HashMap;
16 17 import java.util.List;
17 18 import java.util.Map;
18 19 import java.util.UUID;
  20 +import java.util.stream.Collectors;
19 21 import org.apache.poi.hssf.usermodel.HSSFDateUtil;
20 22 import org.apache.poi.ss.usermodel.BorderStyle;
21 23 import org.apache.poi.ss.usermodel.Cell;
... ... @@ -39,17 +41,17 @@ import org.apache.poi.xssf.streaming.SXSSFWorkbook;
39 41 import org.apache.poi.xssf.usermodel.XSSFDataValidation;
40 42 import org.slf4j.Logger;
41 43 import org.slf4j.LoggerFactory;
  44 +import com.ruoyi.common.core.text.Convert;
  45 +import com.ruoyi.common.exception.CustomException;
  46 +import com.ruoyi.common.utils.DateUtils;
  47 +import com.ruoyi.common.utils.StringUtils;
  48 +import com.ruoyi.common.utils.reflect.ReflectUtils;
42 49 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
43 50 import com.ruoyi.framework.aspectj.lang.annotation.Excel.ColumnType;
44 51 import com.ruoyi.framework.aspectj.lang.annotation.Excel.Type;
45 52 import com.ruoyi.framework.aspectj.lang.annotation.Excels;
46 53 import com.ruoyi.framework.config.RuoYiConfig;
47 54 import com.ruoyi.framework.web.domain.AjaxResult;
48   -import com.ruoyi.common.core.text.Convert;
49   -import com.ruoyi.common.exception.CustomException;
50   -import com.ruoyi.common.utils.DateUtils;
51   -import com.ruoyi.common.utils.StringUtils;
52   -import com.ruoyi.common.utils.reflect.ReflectUtils;
53 55  
54 56 /**
55 57 * Excel相关处理
... ... @@ -768,6 +770,7 @@ public class ExcelUtil<T>
768 770 }
769 771 }
770 772 }
  773 + this.fields = this.fields.stream().sorted(Comparator.comparing(objects -> ((Excel) objects[1]).sort())).collect(Collectors.toList());
771 774 }
772 775  
773 776 /**
... ...
ruoyi/src/main/java/com/ruoyi/framework/aspectj/lang/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 "";
... ...