Commit ec096965123b1e341f1ec80ea674c3d7de485d2e
1 parent
bc56aae2
Excel支持sort导出排序
Showing
2 changed files
with
13 additions
and
5 deletions
ruoyi/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
| @@ -11,11 +11,13 @@ import java.math.BigDecimal; | @@ -11,11 +11,13 @@ import java.math.BigDecimal; | ||
| 11 | import java.text.DecimalFormat; | 11 | import java.text.DecimalFormat; |
| 12 | import java.util.ArrayList; | 12 | import java.util.ArrayList; |
| 13 | import java.util.Arrays; | 13 | import java.util.Arrays; |
| 14 | +import java.util.Comparator; | ||
| 14 | import java.util.Date; | 15 | import java.util.Date; |
| 15 | import java.util.HashMap; | 16 | import java.util.HashMap; |
| 16 | import java.util.List; | 17 | import java.util.List; |
| 17 | import java.util.Map; | 18 | import java.util.Map; |
| 18 | import java.util.UUID; | 19 | import java.util.UUID; |
| 20 | +import java.util.stream.Collectors; | ||
| 19 | import org.apache.poi.hssf.usermodel.HSSFDateUtil; | 21 | import org.apache.poi.hssf.usermodel.HSSFDateUtil; |
| 20 | import org.apache.poi.ss.usermodel.BorderStyle; | 22 | import org.apache.poi.ss.usermodel.BorderStyle; |
| 21 | import org.apache.poi.ss.usermodel.Cell; | 23 | import org.apache.poi.ss.usermodel.Cell; |
| @@ -39,17 +41,17 @@ import org.apache.poi.xssf.streaming.SXSSFWorkbook; | @@ -39,17 +41,17 @@ import org.apache.poi.xssf.streaming.SXSSFWorkbook; | ||
| 39 | import org.apache.poi.xssf.usermodel.XSSFDataValidation; | 41 | import org.apache.poi.xssf.usermodel.XSSFDataValidation; |
| 40 | import org.slf4j.Logger; | 42 | import org.slf4j.Logger; |
| 41 | import org.slf4j.LoggerFactory; | 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 | import com.ruoyi.framework.aspectj.lang.annotation.Excel; | 49 | import com.ruoyi.framework.aspectj.lang.annotation.Excel; |
| 43 | import com.ruoyi.framework.aspectj.lang.annotation.Excel.ColumnType; | 50 | import com.ruoyi.framework.aspectj.lang.annotation.Excel.ColumnType; |
| 44 | import com.ruoyi.framework.aspectj.lang.annotation.Excel.Type; | 51 | import com.ruoyi.framework.aspectj.lang.annotation.Excel.Type; |
| 45 | import com.ruoyi.framework.aspectj.lang.annotation.Excels; | 52 | import com.ruoyi.framework.aspectj.lang.annotation.Excels; |
| 46 | import com.ruoyi.framework.config.RuoYiConfig; | 53 | import com.ruoyi.framework.config.RuoYiConfig; |
| 47 | import com.ruoyi.framework.web.domain.AjaxResult; | 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 | * Excel相关处理 | 57 | * Excel相关处理 |
| @@ -768,6 +770,7 @@ public class ExcelUtil<T> | @@ -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,6 +15,11 @@ import java.lang.annotation.Target; | ||
| 15 | public @interface Excel | 15 | public @interface Excel |
| 16 | { | 16 | { |
| 17 | /** | 17 | /** |
| 18 | + * 导出时在excel中排序 | ||
| 19 | + */ | ||
| 20 | + public int sort() default Integer.MAX_VALUE; | ||
| 21 | + | ||
| 22 | + /** | ||
| 18 | * 导出到Excel中的名字. | 23 | * 导出到Excel中的名字. |
| 19 | */ | 24 | */ |
| 20 | public String name() default ""; | 25 | public String name() default ""; |