可以先判断单元格的类型,有的日期是字符串存储的,有的是按日期存储的(单元格按数字解析),代码如下: Cell cell = row.getCell(); Date date = null; if (cell.getCellType() == CellType.STRING){ //按字符串转换日期 } else if (cell.getCellType() == CellType.NUMERIC) { date = cell.getDateCellValue(); }…
最近在做导入的时候发现,excel中设置数值格式是不能有日期的那些符号出现的,/ - : 之类的,否则就会变成数字到了java后台,设置成日期,比如 yyyy-mm-dd 到了后台也是数字,即距离1900年到现在的天数,这个时候校验肯定是很不方便的,所以只能转一下: //创建1900年的日历对象 Calendar c = new GregorianCalendar(1900,0,-1); Date d = c.getTime(); //获取时间戳 ,然后加上天数,因为excel中默认会传来今天到…
if (r.getCellType()==Cell.CELL_TYPE_NUMERIC){ if(HSSFDateUtil.isCellDateFormatted(r)){ //用于转化为日期格式 Date d = r.getDateCellValue(); DateFormat formater = new SimpleDateFormat("yyyy-MM"); value = formater.format(d); }else { BigDecimal bigDecimal =…
package lianxi; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class date { public static void main(String[] args) { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat(" yyyy-MM-dd E…