`

POI读取单元格内容、空行

 
阅读更多
    /**
     * 获取EXCEL单元格的值,一律转为String返回
     * @param cell
     * @return
     */
    private String getCellStrValue(Cell cell) {
           String value = "";
           if (cell != null) {
               switch (cell.getCellType()) {
               case Cell.CELL_TYPE_NUMERIC:
                    if(DateUtil.isCellDateFormatted(cell)){  // 处理日期格式、时间格式
                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
                        Date date = cell.getDateCellValue();  
                        value = sdf.format(date);
                    }else{
                        DataFormatter data = new DataFormatter();
                        value = data.formatCellValue(cell);
                    }
                   break;
               case Cell.CELL_TYPE_STRING:
                   value = cell.getStringCellValue().trim();
                   break;
               case Cell.CELL_TYPE_FORMULA:
                   break;
               case Cell.CELL_TYPE_BOOLEAN:
                   value += cell.getBooleanCellValue() + "";
                   break;
               default:
                   break;
               }
           }
           return value;
       }

 

    /**
     * 功能:判断是否是空行
     * */
    private boolean isBlankRow(org.apache.poi.ss.usermodel.Row columnRow,
                               int excelLastcell) {
        String value = "";
        for (int i = 0; i < excelLastcell; i++) {
            Cell cell = columnRow.getCell(i);
            if (cell != null) {
                switch (cell.getCellType()) {
                case Cell.CELL_TYPE_NUMERIC:
                    value += cell.getNumericCellValue() + "";
                    break;
                case Cell.CELL_TYPE_STRING:
                    value += cell.getStringCellValue();
                    break;
                case Cell.CELL_TYPE_FORMULA:
                    break;
                case Cell.CELL_TYPE_BOOLEAN:
                    value += cell.getBooleanCellValue() + "";
                    break;
                default:
                    break;
                }
            }
        }
        if (value == null || "".equals(value)) {
            return true;
        } else {
            return false;
        }
    }

 

            Row dataRow = null;

           org.apache.poi.ss.usermodel.Row excelheadRow = sheet.getRow(0);

            int excelLastcell = excelheadRow.getLastCellNum(); //纵列数

                //执行操作

                for(int n=1;n<=lastNum;n++){

                    dataRow = sheet.getRow(n);

                    if (isBlankRow(dataRow, excelLastcell)) { //空行则跳过

                        continue;

                    }

                     .....

              }

 

 

--摘自收费系统的导入迎新数据,在系统管理-学生管理中

分享到:
评论

相关推荐

    关于Poi读取Excel引发内存溢出问题的解决方法

    在处理大量数据时,使用 POI 的默认用户模式(UserModel)读取 Excel 文件可能会导致内存溢出问题,因为该模式会将整个文件加载到内存中。本文将详细介绍如何解决由 POI 用户模式引发的内存溢出问题,并提供相应的...

    java poi 读取excel 2007

    以上就是使用Java POI读取Excel 2007文件并将内容存储到List的基本过程。这个过程可以根据实际需求进行调整,比如处理表头、忽略空行、处理特殊格式的单元格等。在处理大数据量时,还需要考虑性能优化,例如使用迭代...

    java实现删除excel内容之间空行

    ### Java 实现删除 Excel 内容之间的空行 在日常工作中,我们经常需要处理大量的 Excel 文件,其中就包括对数据的清洗与整理。本篇文章将详细介绍如何使用 Java 实现删除 Excel 文件中的空行,这对于提高数据处理...

    Java使用poi读取Excel文件例子

    这个例子将重点讲解如何使用Apache POI读取Excel(.xlsx)文件。首先,我们需要理解Excel文件的基本结构以及POI库提供的API。 Excel的.xlsx文件是由一系列的工作表(worksheet)组成,每个工作表包含多个单元格...

    poi包 EXCEL模板读取填数据并导出以及在模板某行插入新的行

    标题中的“poi包 EXCEL模板读取填数据并导出以及在模板某行插入新的行”涉及到了Apache POI库的使用,这是一个Java API,专门用于处理Microsoft Office格式的文件,如Excel。以下是对这个主题的详细解释: Apache ...

    解析Excel格式数据的poi的jar包

    Apache POI是一个开源库,专门用于读取和写入Microsoft Office格式的文件,包括Excel(.xls和.xlsx)。在这个场景中,我们将深入探讨如何使用Apache POI的jar包来解析Excel格式的数据。 首先,Apache POI提供了两个...

    poi实现sheet页复制和根据空行拆分

    本篇文章将详细介绍如何使用Apache POI库来实现Excel的Sheet页复制以及根据空行拆分单元格。 一、Sheet页复制 在Excel中,Sheet页是存储数据的基本单位。在编程中,我们可以通过Apache POI的SXSSFWorkbook和...

    JAVA_POI_API

    POI是Apache软件基金会的开源项目,旨在为Java开发者提供读取、写入以及操作Microsoft Office格式文件的能力,如Word(.doc)、Excel(.xls和.xlsx)和PowerPoint(.ppt)等。 首先,让我们深入了解一下JAVA POI ...

    java如何读取Excel简单模板

    "Java读取Excel模板" 本文主要介绍Java如何...Java读取Excel模板需要使用org.apache.poi库,并且需要注意可能出现的空行、空单元格或单元格值为空的情况。同时,需要判断单元格的类型,以确定如何处理单元格的内容。

    JAVA读取excel

    接下来,让我们看看如何使用Apache POI读取Excel文件: 1. **打开工作簿:** 使用`XSSFWorkbook`类(对于.xlsx文件)或`HSSFWorkbook`类(对于.xls文件)打开Excel文件。例如: ```java File excelFile = new ...

    Excel通用读取器_升级版.zip

    可以设置读取策略,如跳过空行、处理日期格式等。 5. **数据处理**:将读取到的单元格数据转换为适当的类型,如字符串、数字、日期等,然后存储到内存结构或数据库中。 6. **资源释放**:操作完成后,务必关闭...

    ExcelUtil便捷读取工具 v3.1.6.zip

    4. **灵活配置**:ExcelUtil允许自定义读取策略,如跳过空行、指定数据解析规则等,满足不同业务需求。 5. **版本兼容**:兼容多种Excel格式,包括老版本的.XLS和新版本的.XLSX,覆盖了广泛的应用场景。 在v3.1.6...

    excelUtil导入导出

    Apache POI是Apache软件基金会的一个开源项目,提供了读取和写入Microsoft Office格式文件的能力,包括Excel。ExcelUtil的出现,使得开发者无需深入理解POI的复杂细节,就能方便地进行Excel数据的导入与导出。 ...

    如何用Java实现把excel表中的数据导入到mysql数据库已有的表中.pdf

    使用Apache POI库读取Excel文件。以下是一个基本示例: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; // ... try (FileInputStream fis = new ...

    java把excel内容上传到mysql实例代码

    在Java编程中,将Excel内容上传到MySQL数据库是一项常见的任务,尤其在数据处理和导入大量数据时非常有用。本实例代码展示了如何使用Apache POI库来解析Excel文件,并通过Java JDBC连接MySQL数据库进行数据导入。...

Global site tag (gtag.js) - Google Analytics