遇到一个上传excel文件,解析入库的功能,网上搜了下POI,copy 、改改,放到工具类就能够用了,感受POI仍是挺方便的,比JXL好用。工具
因为只用到了读取excel文件,说一下测试的时候遇到的小问题:测试
1.POI针对excel2003和excel2007分别有两套不一样的API,2003对应HSSFXXX,2007对应XSSFXXX,其实就是workbook和sheet不一样,底下的方法都同样,用的时候要判断一下excel版本,不然会报异常,不过异常信息说的很是明显,就是版本不对。spa
2.注意cell中数据的类型,好比我有一列是放一个编号,测试的时候存了个10010,读取的时候:excel
charge.setChargeDesc(childSheet.getRow(rowi).getCell(2)==null?"": childSheet.getRow(rowi).getCell(2).getStringCellValue());
报错了,POI自做主张把10010当成numberic类型的了,要想拿到正确的结果,须要先指定该cell的类型,固然POI有对应的接口来规定不一样的数据类型:code
childSheet.getRow(rowi).getCell(0).setCellType(Cell.CELL_TYPE_STRING);
加上这句就能够获得string类型的数据了。blog
读取是比较简单的 ,除了类型,在注意一下空值判断就OK了。 接口
3.写入没有用到,看了一下API,没有什么难点,可是感受比较繁琐,行、列、格、具体内容等均可以控制样式,么米有艺术细菌的我,想一想就头大,何时用到的时候再说了--get