你这个处理的不行啊,直接报错了,而且是动态的,你设置枚举就不变了,到明年这个值要是2024
时间: 2024-09-26 09:15:30 浏览: 21
对不起,我的理解有误。对于动态年份的情况,如需在Excel中保持实时更新,直接使用枚举确实不合适,因为枚举一旦定义就无法更改。在这种需求下,我们可以考虑使用日期类型,比如`LocalDate`,然后在导入数据时手动处理转换。
```java
import java.time.LocalDate;
@Data
public class TestVo {
@ExcelProperty(value = "科目编码")
private String code;
@ExcelProperty(value = "科目名称")
private String name;
// 使用LocalDate类型保存上一年的数据,可以直接从当前日期减去一年得到
@ExcelProperty(value = "上一年度")
private LocalDate lastYear;
public LocalDate getLastYearForCurrentYear() {
// 当前日期减一即为上一年
return LocalDate.now().minusYears(1);
}
}
```
在这个例子中,`lastYear`会随着每年的变化自动更新。当你读取Excel数据并解析成`TestVo`对象时,可以直接设置这个字段,或者在需要的时候调用`getLastYearForCurrentYear()`方法获取。
阅读全文