Convert data com.alibaba.excel.metadata.data.ReadCellData@40b9ccc5 to class java.util.Date error
时间: 2023-12-16 20:03:50 浏览: 373
这个错误通常发生在使用 EasyExcel 进行 Excel 文件读取时,当读取到一个日期类型的单元格时,EasyExcel 无法将其正确地转换为 Java 的 Date 类型。
这个问题的解决方法是在读取 Excel 文件时,指定日期格式。具体做法是在 ExcelReader 对象上调用 registerReadListener 方法并传入一个 ReadListener 对象,在 ReadListener 对象的 onRead 方法中对日期格式进行解析,示例代码如下:
```
ExcelReader excelReader = EasyExcel.read(inputStream).build();
excelReader.registerReadListener(new ReadListener() {
@Override
public void onRead(List<Object> list, AnalysisContext analysisContext) {
// 判断是否为日期类型的单元格
if (analysisContext.readRowHolder().getCellMap().containsKey("日期列")) {
// 解析日期格式
String dateString = list.get(0).toString();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = dateFormat.parse(dateString);
list.set(0, date);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
});
excelReader.read();
```
这样,在读取 Excel 文件时,EasyExcel 就能正确地将日期类型的单元格转换为 Java 的 Date 类型了。
阅读全文