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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
poi3.9是Apache POI框架的一个版本,可以用于在大数据环境中导出Excel文件。使用poi3.9进行大数据Excel导出有以下几个步骤。 首先,导入poi3.9的相关 jar 包。这些 jar 包包括 poi-3.9.jar、poi-ooxml-3.9.jar、poi-ooxml-schemas-3.9.jar 和 xmlbeans-2.3.0.jar。 然后,创建一个工作簿(Workbook)对象,可以使用 HSSFWorkbook 或者 XSSFWorkbook,分别代表用于处理 .xls 和 .xlsx 格式的工作簿。 接下来,创建一个工作表(Sheet)对象,可以使用 createSheet 方法来创建一个新的工作表。该方法返回一个 Sheet 对象,可以对工作表进行进一步的操作。 然后,在工作表中创建行(Row)对象,可以使用 createRow 方法。该方法返回一个 Row 对象,可以添加单元格(Cell)。 然后,在每一行中创建单元格,可以使用 createCell 方法。该方法根据所需的数据类型(数值、字符串等)创建一个单元格,并将其添加到行中。 接着,将数据填充到单元格中,可以使用 setCellValue 方法。根据数据类型的不同,可以使用 setCellValue 方法设置不同类型的数据,例如 setCellValue(String value)、setCellValue(int value) 等。 最后,使用 FileOutputStream 将工作簿写入到磁盘上的文件中。可以创建一个文件输出流(FileOutputStream)对象,将工作簿写入到指定的文件路径中。 综上所述,使用poi3.9进行大数据Excel导出需要导入相关的jar包,创建工作簿和工作表对象,创建行和单元格对象,并将数据填充到单元格中,最后将工作簿写入到磁盘文件中。这样就可以在大数据环境中成功进行Excel导出了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

哈尔日记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值