问题原因:
apache-poi 的3.+和4.+ 的api 不一样,所以再将poi 升级的时候,老的语法可能会出现问题。下面记录了一些3.x和4.x 的不同。
修改前 的版本为3.9,修改后的版本为4.1.0
解决方法:
左右居中
//修改前
//centerstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 左右居中
//修改后
centerstyle.setAlignment(HorizontalAlignment.CENTER);//左右居中
字体加粗
//poi 3.9 舍弃
columnHeadFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
//poi 4.0+
columnHeadFont.setBold(true);
上下居中
//修改前
//columnHeadStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
//修改后
columnHeadStyle.setVerticalAlignment(VerticalAlignment.CENTER);
设置填充样式
Excel单元格的背景色
//poi 3.9 修改前
//style1.setFillPattern(CellStyle.SOLID_FOREGROUND);
//poi 4.1 修改后
style1.setFillPattern(FillPatternType.SOLID_FOREGROUND);
//修改前
//cell.setCellType(Cell.CELL_TYPE_STRING);
//修改后
cell.setCellType(STRING);
定义Excel 单元格类型
//修改前
//cell.setCellType(Cell.CELL_TYPE_STRING);
//修改后
cell.setCellType(STRING);
获取单元格
//修改前
//Cell sgNumberCell = row.getCell(indexArr[0], Row.RETURN_BLANK_AS_NULL);
//修改后
Cell sgNumberCell = row.getCell(indexArr[0], RETURN_BLANK_AS_NULL);