POI3.9升级到5.x

1、HSSFCell的替换方法

public static Object getXSSFValue(XSSFCell hssfCell) {
	    if(hssfCell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC) {
	    	return hssfCell.getNumericCellValue();    //数字
	    }else if(hssfCell.getCellType() == XSSFCell.CELL_TYPE_BOOLEAN) {
	    	return hssfCell.getBooleanCellValue();    //boolean
	    }else if(hssfCell.getCellType() == XSSFCell.CELL_TYPE_ERROR){
	    	return hssfCell.getErrorCellValue();      //故障
	    }else if(hssfCell.getCellType() == XSSFCell.CELL_TYPE_FORMULA){
	    	return hssfCell.getCellFormula();         //公式
	    }else if(hssfCell.getCellType() == XSSFCell.CELL_TYPE_BLANK) {
	    	return "";                                //空值
	    }else if(hssfCell.getCellType() == XSSFCell.CELL_TYPE_STRING) {
	    	return hssfCell.getStringCellValue();     //字符串
	    }
		
	}

替换方法如下 注释中也是修改的方法。

public static Object getXSSFValue(XSSFCell hssfCell) {
        Object result = null;
        CellType cellType = hssfCell.getCellType();
    	//在switch下 后面的数字是对应的类型
        switch (hssfCell.getCellType()) {
            case NUMERIC: //数字 CellType.NUMERIC 0
                result = hssfCell.getNumericCellValue();
                break;
            case BOOLEAN: //Boolean CellType.BOOLEAN 4
                result = hssfCell.getBooleanCellValue();
                break;
            case ERROR: //故障 CellType.ERROR 5
                result = hssfCell.getErrorCellValue();
                break;
            case FORMULA: //公式 CellType.FORMULA 2
                result = hssfCell.getCellFormula();
                break;
            case BLANK: //空值 CellType.BLANK 3
                result = "";
                break;
            default: //字符串 STRING  CellType.STRING 1
                result = hssfCell.getStringCellValue();
        }
        return result;
    }

1.对齐方式

// 居中格式

style.setAlignment(HSSFCellStyle.ALIGN_CENTER);

// 修改后,左对齐右对齐修改CENTER

style.setAlignment(HorizontalAlignment.CENTER);

2.边框样式

// 最细边框

style.setBorderBottom(CellStyle.BORDER_THIN);

// 修改为,其他边框样式详见BorderStyle

style.setBorderBottom(BorderStyle.THIN);

3.获取颜色索引

// 蓝色RGB索引

style.setFillForegroundColor(HSSFColor.SKY_BLUE.index);

// 修改为,其他颜色参考:IndexedColors

style.setFillForegroundColor(IndexedColors.SKY_BLUE.getIndex());

4.设置填充样式

// SOLID_FOREGROUND纯色使用前景颜色填充

style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

// 修改为,SOLID_FOREGROUND纯色使用前景颜色填充

style.setFillPattern(CellStyle.SOLID_FOREGROUND);

5.字体样式

// 字体加粗

font.setBoldweight(Font.BOLDWEIGHT_BOLD);

// 修改为

font.setBold(true);

6.单元格数据类型

// 字符串类型

Cell.CELL_TYPE_STRING

// 修改为

CellType.STRING

// 数字类型

Cell.CELL_TYPE_NUMERIC

// 修改为

CellType.NUMERIC

//类似的其他类型

_NONE(-1),

NUMERIC(0),

STRING(1),

FORMULA(2),

BLANK(3),

BOOLEAN(4),

ERROR(5);

7、CellStyle.SOLID_FOREGROUND 替换

FillPatternType.SOLID_FOREGROUND

8、style.setVerticalAlignment(HSSFCellStyle.VARCHAR_CENTER); 替换

style.setVerticalAlignment(VerticalAlignment.CENTER);

9、合并单元格

sheet.addMergedRegion(new Region(int firstRow, int lastRow, int firstCol, int lastCol) 替换

sheet.addMergedRegion(new CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol)

10、java bug:An enum switch case label must be the unq

//报错的使用方法
private void TestEnum(ColorType type){  
      switch (type){  
         case ColorType.GREEN:  // 编译时报错
              break;  
         case ColorType.RED:    // 编译时报错
              break;  
         case ColorType.ORANGE:    // 编译时报错
              break;  
         case ColorType.WHITE:    // 编译时报错
              break;  
         case ColorType.BLACK:    // 编译时报错
              break;  
         default:  
   
      }  
}  

// 正确用法:
private void TestEnum(ColorType type){  
      switch (type){  
          case GREEN: 
              break;  
          case RED:    
              break;  
          case ORANGE:    
              break;  
          case WHITE:    
              break;  
          case BLACK:   
              break;  
          default:  
   
      }  
}  
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈尔日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值