EasyExcel读取指定列问题

使用easyexcel读取excel,因为excel中的第四列没有实际意义,

img

所以想在读取的过程中对第四列进行忽略,故在index中依次设置了0,1,2,4,跳过了第四列

public class ApportionTableDO implements Serializable {
    private static final Long serialVersionUID = 1L;

    @ExcelProperty(index = 0, value = "成本中心编号")
    private String costObject;
    
    @ExcelProperty(index = 1, value = "成本中心名称")
    private String costObjectExplain;
    
    @ExcelProperty(index = 2, value = "项目名称")
    private String adjustProjectName;
    
    @ExcelProperty(index = 4, value = "工时比例")
    private Float referanceValue;
    
    private Long id;
    
    private Long subtableId;

    /**
     * 设置:${column.comments}
     */
    public void setCostObjectExplain(String costObjectExplain) {
        this.costObjectExplain = costObjectExplain;
    }
    /**
     * 获取:${column.comments}
     */
    public String getCostObjectExplain() {
        return costObjectExplain;
    }
    /**
     * 设置:${column.comments}
     */
    public void setCostObject(String costObject) {
        this.costObject = costObject;
    }
    /**
     * 获取:${column.comments}
     */
    public String getCostObject() {
        return costObject;
    }
    /**
     * 设置:${column.comments}
     */
    public void setId(Long id) {
        this.id = id;
    }
    /**
     * 获取:${column.comments}
     */
    public Long getId() {
        return id;
    }
    /**
     * 设置:${column.comments}
     */
    public void setReferanceValue(Float referanceValue) {
        this.referanceValue = referanceValue;
    }
    /**
     * 获取:${column.comments}
     */
    public Float getReferanceValue() {
        return referanceValue;
    }
    /**
     * 设置:${column.comments}
     */
    public void setAdjustProjectName(String adjustProjectName) {
        this.adjustProjectName = adjustProjectName;
    }
    /**
     * 获取:${column.comments}
     */
    public String getAdjustProjectName() {
        return adjustProjectName;
    }
    public Long getSubtableId() {
        return subtableId;
    }
    public void setSubtableId(Long subtableId) {
        this.subtableId = subtableId;
    }
    public static Long getSerialversionuid() {
        return serialVersionUID;
    }
}

但在导入的时候报错

img

明显是没有跳过第四列,反而把第四列当做需要读取的列进行储存,结果因为类型不匹配出错,另一个表也是需要选择读取,也是按照index设置的,读取就没有问题,就这个有问题,最后只好把这一需要忽略的列删除,index设为0,1,2,3,读入就没有问题,想问什么原因

用EasyExcel.read();读取的话会将文件中所有内容先读取出来,再映射到类对应的字段中。
可以定义一个包含列4的类进行读取,然后通过
PropertyUtils.copyProperties(类1对象,类2对象);
进行属性(值)复制。