poi 解析excel 4.0+ (一) 用户模式 包括07版和03版

本文介绍了使用Apache POI 4.0版本解析Excel的用户模式,着重对比了4.0版本与之前版本在行索引及单元格值解析上的差异。POI 4.0的行索引从0开始,解析单元格值时,存在日期、时间格式处理不完善以及大数据量可能导致内存溢出等问题。后续文章将探讨这些问题并提供解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 最近业务上需要通过上传excel后,解析数据。规定用的poi版本是4.0 。特此记录一下 用户模式下 4.0和4.0以前版本的区别。

最主要的区别,就是poi4.0的row的索引是从0开始,而以前的版本是从1开始的。

//4.0+版本 
for(int rowNum = 0;rowNum <= lastRowNum;rowNum++){
  //具体方法
}
//以前的版本
for (int j = 1; j < sheet.getLastRowNum() + 1; j++) {
    XSSFRow row = sheet.getRow(j);
}

 

第二个区别,就是解析单元格的值有些许不同:

现在的解析方法如下:

/**
 * 用户模式得到单元格的值
 * @param workbook
 * @param cell
 * @return
 */
public static String getCellValue(Workbook workbook, Cell cell){
    Assert.notNull(workbook, "when you parse excel, workbook is not allowed to be null");
    String cellValue = "";
    if (cell == null){
        return cellValue;
    }

    switch (cell.getCellType()){
        case NUMERIC:
            cellValue = getDateValue(cell);
            //判断日期类型
            if (DateUtil.isCellDateForm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值