考虑向后兼容以及标准化的问题,我们使用开源工具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上的代码