热门标签

, ,

还在为东西太贵发愁?

最新全新购物省钱方案它今天真的来了

淘宝/天猫大额购物优惠券

点我领取
首页 » 技术教程 » 常用代码 » JAVA获取Excel表格的真实行数

最近公司项目需要上传Excel数据,其中要获取到表格中行数,结果莫名其妙一直多读行数

之后发现表格中存在格式,而使用sheet自带的读取方法是不合理的

在没有格式的前提下可以使用:getLastRowNum方法能够正确返回最后一行的位置;getPhysicalNumberOfRows方法能够正确返回物理的行数

而我们上传的表格中存在格式,所以需要读取每个行列中的数据进行判断

/** 
    * 用来得到真实行数 
    * @param sheet 需要读取的Excel表格
    * @return 
    *  
    */  
public String readExcelValueRows(Sheet sheet) {
    int realRow = 0;// 返回的真实行数
    for (int i = 1; i <= sheet.getLastRowNum(); i++) {
        //i从1开始,不判断第一行标题行
        Row row = sheet.getRow(i);
        if (row == null){
            continue;
        }
        for (Cell cell : row) {
            if (cell == null){
                continue;
            }
            String value = getValue(cell).trim();
            if (value == null || "".equals(value)){
                continue; 
            } else{
                realRow++;
                break;
            }
        }
    }
    return String.valueOf(realRow);
}
/** 
    * 用来判断每一列中的数据类型
    * @param cell 需要读取的列
    * @return 
    *  
    */ 
public String getValue(Cell cell){
    String cellValue = "";
    switch (cell.getCellType()) {
        case Cell.CELL_TYPE_STRING:
            cellValue = cell.getStringCellValue();
            break;
        case Cell.CELL_TYPE_BOOLEAN:
            cellValue = String.valueOf(cell.getBooleanCellValue());
            break;
        case Cell.CELL_TYPE_NUMERIC:
            if (DateUtil.isCellDateFormatted(cell)) {
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                cellValue = sdf.format(cell.getDateCellValue());
            }else{
                DataFormatter dataFormatter = new DataFormatter();
                cellValue = dataFormatter.formatCellValue(cell);
            }
            break;
        default:
            cellValue = "";
            break;
    }
    return cellValue;
}

未经允许不得转载:作者:名晨, 转载或复制请以 超链接形式 并注明出处 零七生活网 - 名晨'blog - 网络资源教程的分享平台
原文地址:《JAVA获取Excel表格的真实行数》 发布于2019-11-15

分享到:
赞(2) 生成海报

长按图片转发给朋友

Vieu4.0主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

切换登录

注册