首页 > 代码库 > poi 操作 excel

poi 操作 excel

  遇到一个上传excel文件,解析入库的功能,网上搜了下POI,copy 、改改,放到工具类就可以用了,感觉POI还是挺方便的,比JXL好用。

  由于只用到了读取excel文件,说一下测试的时候遇到的小问题:

  1.POI针对excel2003和excel2007分别有两套不同的API,2003对应HSSFXXX,2007对应XSSFXXX,其实就是workbook和sheet不同,底下的方法都一样,用的时候要判断一下excel版本,否则会报异常,不过异常信息说的非常明显,就是版本不对。

  2.注意cell中数据的类型,比如我有一列是放一个编号,测试的时候存了个10010,读取的时候:

charge.setChargeDesc(childSheet.getRow(rowi).getCell(2)==null?"":                            childSheet.getRow(rowi).getCell(2).getStringCellValue());

报错了,POI自作主张把10010当成numberic类型的了,要想拿到正确的结果,需要先指定该cell的类型,当然POI有对应的接口来规定不同的数据类型:

childSheet.getRow(rowi).getCell(0).setCellType(Cell.CELL_TYPE_STRING);

加上这句就可以得到string类型的数据了。

  读取是比较简单的 ,除了类型,在注意一下空值判断就OK了。  

  3.写入没有用到,看了一下API,没有什么难点,但是感觉比较繁琐,行、列、格、具体内容等都可以控制样式,么米有艺术细菌的我,想想就头大,什么时候用到的时候再说了--

poi 操作 excel