考虑向后兼容以及标准化的问题,我们使用开源工具apache poi进行excel的读取
POI读取的时候将cell里的内容都认为是double,这个与jxl的默认为string不一样
遇到的问题
1.POI读取科学计数法,可以使用NumberFormat对数据进行format.千位分隔符是否使用:setGroupingUsed()
参考代码
BigDecimal num = new BigDecimal(cell.getNumericCellValue());
NumberFormat format = NumberFormat.getInstance();
format.setMaximumFractionDigits(2);
format.setGroupingUsed(false);
cellData = format.format(num);
2.POI对日期的识别也比较弱,所以需要进行format
new SimpleDateFormat("yyyy-MM-dd").format(DateUtil.getJavaDate(cell.getNumericCellValue()));
详细的可以参考github上的代码
使用Apache POI开源包进行Excel读取
原文:http://blog.csdn.net/tonylee0329/article/details/42776897