Browse Source

第二版 导出字段优化

刘一凡 3 years ago
parent
commit
b29a485ba2

+ 37 - 0
src/main/java/com/chuanghai/h3c_reporting/conver/StatusConverter.java

@@ -0,0 +1,37 @@
+package com.chuanghai.h3c_reporting.conver;
+
+import com.alibaba.excel.converters.Converter;
+import com.alibaba.excel.enums.CellDataTypeEnum;
+import com.alibaba.excel.metadata.CellData;
+import com.alibaba.excel.metadata.GlobalConfiguration;
+import com.alibaba.excel.metadata.property.ExcelContentProperty;
+
+/**
+ * @Author 浮生
+ * @Date 2023/3/22 14:38
+ * @PackageName:com.chuanghai.h3c_reporting.conver
+ * @ClassName: StatusConverter
+ * @Description: TODO 转换项目状态
+ * @Version 1.0
+ */
+public class StatusConverter implements Converter<Integer> {
+    @Override
+    public Class supportJavaTypeKey() {
+        return Integer.class;
+    }
+
+    @Override
+    public CellDataTypeEnum supportExcelTypeKey() {
+        return CellDataTypeEnum.STRING;
+    }
+
+    @Override
+    public Integer convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+        return cellData.getStringValue().equals("进行中") ? 1 : 0;
+    }
+
+    @Override
+    public CellData convertToExcelData(Integer value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+        return new CellData(value == 1 ? "进行中" : "已关闭");
+    }
+}

+ 2 - 2
src/main/java/com/chuanghai/h3c_reporting/entity/InformationReporting.java

@@ -6,6 +6,7 @@ import com.alibaba.excel.annotation.write.style.ColumnWidth;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.chuanghai.h3c_reporting.conver.LocalDateTimeConverter;
 import com.chuanghai.h3c_reporting.conver.LocalDateTimeConverter;
+import com.chuanghai.h3c_reporting.conver.StatusConverter;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.Data;
@@ -124,8 +125,7 @@ public class InformationReporting implements Serializable {
     /**
     /**
      * 项目状态:0已关闭 1进行中
      * 项目状态:0已关闭 1进行中
      */
      */
-    @ExcelIgnore
-    @ExcelProperty("状态")
+    @ExcelProperty(value = "项目状态", converter = StatusConverter.class)
     @ColumnWidth(15)
     @ColumnWidth(15)
     @Pattern(regexp = "[0-1]", message = "项目状态只能为0或1")
     @Pattern(regexp = "[0-1]", message = "项目状态只能为0或1")
     private Integer status;
     private Integer status;