使用apache的poi将数据导入数据库时日期数据变为数字
今天在写项目的时候,有一个需求是上传excel文件中的数据到数据库中,然后使它显示在前端界面上。
这个我们使用apache的poi是很容易就能够实现的,但是在我写完功能后,进行文件上传的测试的时候却发现,数据库中本应该显示的日期变为了数字(这时我只写了对数字类型的判断)。
如下图所示的样子:
excel文件中的日期
其文本对应的数字
传入到数据库后
但在其输入到数据库之前仍为日期类型,所以我们只需要在操作数据时判断其类型,若其为日期类型,再重新设置格式就能解决这个问题了。
if(HSSFDateUtil.isCellDateFormatted(cell)) {
Date date = cell.getDateCellValue() ;
ret = DateFormatUtil.dateFormatUtil(date) ;
}
DateFormatUtil文件
public class DateFormatUtil {
/**
* 传入一个date类型的数据,将其转换为指定格式的并返回
*/
public static String dateFormatUtil(Date date) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
return dateFormat.format(date) ;
}
}