POI 3.5的变化及对excel 2007的支持

今天公司要用poi导入导出excel2007文档

导入:
用原来的方式:
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(importfile));
HSSFWorkbook wb = new HSSFWorkbook(fs);


发现报格式不正确的异常,查了一下问题,原来是对excel 2007就不能使用以前的POIFileSystem和HSSFWorkbook的方式了,应该改为:
XSSFWorkbook wb=new XSSFWorkbook(importfile.getPath());

因为在之前的异常中提到:
The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead of HSSF)

也就是说,2007格式中加入了一些XML相关格式进去,所以POI3.5以XSSF来进行支持,
相应的,下面对行及单元格的操作,也都得改为:
XSSFRow,XSSFCell了

导出:
POI3.5对编码设置有所改变,以前为了解决一些中文问题,都会在CELL中加入
cell.setEncoding(...)

但现在POI已经取消这个方法了,我去掉后并没报错,导出也成功,不知道具体对编码是怎么一个支持法了。
目前POI3.5还处于beat阶段,大家有什么使用POI3.5的心得可以交流一下

POI3.5网址是:
http://poi.apache.org/

你可能感兴趣的:(apache,xml,Excel,Office)