POI3.9中有些方法,在POI 4.1.2版本中移除了,升级老项目过程中遇到的问题,记录下。
CellRangeAddressList
POI 3.9所在的包路径:
import org.apache.poi.hssf.util.CellRangeAddressList
POI 4.1.2 所在的包路径
import org.apache.poi.ss.util.CellRangeAddressList;
HSSFCellUtil
HSSFCellUtil在POI 4.0+版本中已经没有这个类了
POI 3.9中的调用方式
HSSFCellUtil.getRow(i, sheet);
poi4.0+中的调用方式
sheet.getRow(i)
HSSFCell
HSSFCell在4.0+版本中被替换成CellType 例如:HSSFCell.CELL_TYPE_STRING 修改成CellType.STRING
Region
Region在POI 4.0+版本中已经没有这个类了,POI 4.0+版本中可以用CellRangeAddress类替换Region
POI 3.9中的方法(Region类) | 替换成POI 4.0+的方法(CellRangeAddress类) |
region.getRowFrom() | region.getFirstRow() |
region.getRowTo() | region.getLastRow() |
region.getColumnFrom() | region.getFirstColumn() |
region.getColumnTo() | region.getLastColumn() |
HSSFCellStyle
3.9版本写法:
HSSFCellStyle style = wb.createCellStyle();
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
4.0+版本写法:
HSSFCellStyle style = wb.createCellStyle();
style.setBorderBottom(BorderStyle.THIN);
其他:
1、SOLID_FOREGROUND
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
改成:
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
2、HSSFCellStyle.ALIGN_CENTER
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
改成:
style.setAlignment(HorizontalAlignment.CENTER);
style.setVerticalAlignment(VerticalAlignment.CENTER);
3、HSSFColor.GREY_25_PERCENT.index
style.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
修改:
style.setFillForegroundColor(HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex());