使用Xlsx文件模板批量导入数据

对于第一次接触到这类需求来说,还是比较懵逼的,因为码龄也不是很长,但是幸不辱命,经过一系列的努力,还是成功写出,为了下次使用方便,直接搬代码; 首先如果要从外部文件中获取数据,就涉及到属性字段的对应关系,请看下图,每个属性都需要加上@ExcelProperty()注解,目的是为了和文件的字段进行对应,@Datapublic class OrderExcelImportDTO extends BaseImport { @ExcelProperty("id...
摘要由CSDN通过智能技术生成

       对于第一次接触到这类需求来说,还是比较懵逼的,因为码龄也不是很长,但是幸不辱命,经过一系列的努力,还是成功写出,为了下次使用方便,直接搬代码;

      首先如果要从外部文件中获取数据,就涉及到属性字段的对应关系,请看下图,每个属性都需要加上 @ExcelProperty()注解,目的是为了和文件的字段进行对应,

@Data
public class OrderExcelImportDTO extends BaseImport {

   
    @ExcelProperty("id")
    private Long refundId;
   
    @ExcelProperty("单号")
    @NotEmpty(message = "单号不能为空")
    @Size(max = 32, message = "单号不能超过32位")
    @Unique
    private String refundNo;
    
    @ExcelProperty("售后单号")
    @NotEmpty(message = "**单号不能为空")
    @Size(max = 32, message = "**单号不能超过32位")
    @Unique
    private String sourceAfterSaleOrderNo;
}

   该类需继承BaseImport,BaseImport是自己写的类,代码如下:

import java.io.Serializable;

public class BaseImport implements Serializable {
    private static final long serialVersionUID = 1L;
    private String errorMsg;
    private int rowIndex;

    public BaseImport() {
    }

    public String getErrorMsg() {
        return this.errorMsg;
    }

    public int getRowIndex() {
        return this.rowIndex;
    }

    public void setErrorMsg(String errorMsg) {
        this.errorMsg = errorMsg;
    }

    public void setRowIndex(int rowIndex) {
        this.rowIndex = rowIndex;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof BaseImport)) {
            return false;
        } else {
            BaseImport other = (BaseImport)o;
            if (!other.canEqual(this)) {
                return false;
            } else if (this.getRowIndex() != other.getRowIndex()) {
                return false;
            } else {
         
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值