使用easyexcel读取excel,因为excel中的第四列没有实际意义,
所以想在读取的过程中对第四列进行忽略,故在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;
}
}
但在导入的时候报错
明显是没有跳过第四列,反而把第四列当做需要读取的列进行储存,结果因为类型不匹配出错,另一个表也是需要选择读取,也是按照index设置的,读取就没有问题,就这个有问题,最后只好把这一需要忽略的列删除,index设为0,1,2,3,读入就没有问题,想问什么原因
用EasyExcel.read();读取的话会将文件中所有内容先读取出来,再映射到类对应的字段中。
可以定义一个包含列4的类进行读取,然后通过
PropertyUtils.copyProperties(类1对象,类2对象);
进行属性(值)复制。