Commit fd7d9dc1141fff7f9f7ea7a8761d2bccb307dc21

Authored by 胡翰林
1 parent c9ce8c58

导入模板适配现场数据

  1 +package com.ash.base.excelOpt;
  2 +
  3 +import com.alibaba.excel.converters.Converter;
  4 +import com.alibaba.excel.converters.WriteConverterContext;
  5 +import com.alibaba.excel.metadata.GlobalConfiguration;
  6 +import com.alibaba.excel.metadata.data.ReadCellData;
  7 +import com.alibaba.excel.metadata.data.WriteCellData;
  8 +import com.alibaba.excel.metadata.property.ExcelContentProperty;
  9 +
  10 +import java.text.SimpleDateFormat;
  11 +import java.util.Date;
  12 +
  13 +public class DatetimeConverter2 implements Converter<Date> {
  14 + private static final String PATTERN_YYYY_MM_DD = "yyyy-MM-dd HH:mm:ss";
  15 +
  16 +
  17 + @Override
  18 + public Class<Date> supportJavaTypeKey() {
  19 + return Date.class;
  20 + }
  21 +
  22 +
  23 + @Override
  24 + public Date convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
  25 + String value = cellData.getStringValue();
  26 + SimpleDateFormat sdf = new SimpleDateFormat(PATTERN_YYYY_MM_DD);
  27 + return sdf.parse(value);
  28 + }
  29 +
  30 +
  31 + @Override
  32 + public WriteCellData<String> convertToExcelData(WriteConverterContext<Date> context) throws Exception {
  33 + Date date = context.getValue();
  34 + if (date == null) {
  35 + return null;
  36 + }
  37 + SimpleDateFormat sdf = new SimpleDateFormat(PATTERN_YYYY_MM_DD);
  38 + return new WriteCellData<>(sdf.format(date));
  39 + }
  40 +}
@@ -5,7 +5,7 @@ import com.alibaba.excel.annotation.write.style.ColumnWidth; @@ -5,7 +5,7 @@ import com.alibaba.excel.annotation.write.style.ColumnWidth;
5 import com.alibaba.excel.annotation.write.style.ContentRowHeight; 5 import com.alibaba.excel.annotation.write.style.ContentRowHeight;
6 import com.alibaba.excel.annotation.write.style.ContentStyle; 6 import com.alibaba.excel.annotation.write.style.ContentStyle;
7 import com.alibaba.excel.annotation.write.style.HeadRowHeight; 7 import com.alibaba.excel.annotation.write.style.HeadRowHeight;
8 -import com.ash.base.excelOpt.DatetimeConverter; 8 +import com.ash.base.excelOpt.DatetimeConverter2;
9 import com.ash.base.excelOpt.ExcelCheck; 9 import com.ash.base.excelOpt.ExcelCheck;
10 import lombok.AllArgsConstructor; 10 import lombok.AllArgsConstructor;
11 import lombok.Builder; 11 import lombok.Builder;
@@ -30,8 +30,8 @@ public class WarningInstanceExcelData implements Serializable { @@ -30,8 +30,8 @@ public class WarningInstanceExcelData implements Serializable {
30 @ColumnWidth(25) 30 @ColumnWidth(25)
31 private String code; 31 private String code;
32 32
33 - @ExcelCheck(canEmpty = false, dateFormatValid = "yyyy/MM/dd h:mm:ss")  
34 - @ExcelProperty(value = "报警时间", index = 1) 33 + @ExcelCheck(canEmpty = false)
  34 + @ExcelProperty(value = "报警时间", index = 1, converter = DatetimeConverter2.class)
35 @ContentStyle(dataFormat = 49) 35 @ContentStyle(dataFormat = 49)
36 @ColumnWidth(25) 36 @ColumnWidth(25)
37 private Date alarmDate; 37 private Date alarmDate;
@@ -5,7 +5,7 @@ import com.alibaba.excel.annotation.write.style.ColumnWidth; @@ -5,7 +5,7 @@ import com.alibaba.excel.annotation.write.style.ColumnWidth;
5 import com.alibaba.excel.annotation.write.style.ContentRowHeight; 5 import com.alibaba.excel.annotation.write.style.ContentRowHeight;
6 import com.alibaba.excel.annotation.write.style.ContentStyle; 6 import com.alibaba.excel.annotation.write.style.ContentStyle;
7 import com.alibaba.excel.annotation.write.style.HeadRowHeight; 7 import com.alibaba.excel.annotation.write.style.HeadRowHeight;
8 -import com.ash.base.excelOpt.DatetimeConverter; 8 +import com.ash.base.excelOpt.DatetimeConverter2;
9 import com.ash.base.excelOpt.ExcelCheck; 9 import com.ash.base.excelOpt.ExcelCheck;
10 import lombok.AllArgsConstructor; 10 import lombok.AllArgsConstructor;
11 import lombok.Builder; 11 import lombok.Builder;
@@ -31,7 +31,7 @@ public class WarningInstanceExportExcelData implements Serializable { @@ -31,7 +31,7 @@ public class WarningInstanceExportExcelData implements Serializable {
31 private String code; 31 private String code;
32 32
33 @ExcelCheck(canEmpty = false, dateFormatValid = "yyyy-MM-dd HH:mm:ss") 33 @ExcelCheck(canEmpty = false, dateFormatValid = "yyyy-MM-dd HH:mm:ss")
34 - @ExcelProperty(value = "报警时间", index = 1, converter = DatetimeConverter.class) 34 + @ExcelProperty(value = "报警时间", index = 1, converter = DatetimeConverter2.class)
35 @ContentStyle(dataFormat = 49) 35 @ContentStyle(dataFormat = 49)
36 @ColumnWidth(25) 36 @ColumnWidth(25)
37 private Date alarmDate; 37 private Date alarmDate;