我无法使用Poi从Excel工作表中解析德语日期( <ui:repeat var="value" value="#{adminController.student}" varStatus="myvar" >
<tr>
<td>#{value.name}</td>
<td>#{value.TP}</td>
<td>#{value.gender}</td>
<td><h:selectBooleanCheckbox value="#{adminController.enrollarr[myvar.index]}" /></td>
</tr>
</ui:repeat>
)。实际上,读取日期单元格会返回一个(dd.MM.yyyy
)模式字符串日期,尽管excel单元格格式为(d/M/yyyy
),如下面的屏幕截图所示:
源代码:
Date dd.MM.yyyy
P.S:绕过这个问题的简单解决方案是使用DataFormatter formatter = new DataFormatter();
SimpleDateFormat dateFormatter = new SimpleDateFormat("dd.MM.yyyy");
String dateString = formatter.formatCellValue(row.getCell(11)).trim();//date="1/3/2018"
Date dateStart = dateFormatter.parse(dateString);//throws a java.text.ParseException
,但我想解决这个问题并理解这种意外行为背后的原因。