POI导入数据表格中的行明明不是空,但是后台获取到的值为null?

在使用POI导入数据的时候,发现有的时候,或者说有的excel文件,导入过程会报空指针,后来发现获取到对应的行的单元格为null导致的。
代码是这样的:`public Map<String,Object> readExcel(MultipartFile file){

    
    Workbook workBook = null;
    InputStream is = file.getInputStream();
    try {
        if(file.getOriginalFilename().endsWith("xls")){
            workBook =new  HSSFWorkbook(is);
        }else if(file.getOriginalFilename().endsWith("xlsx")){
            workBook =new  XSSFWorkBook(is);
            
        }
        
        Sheet sheet1 = workBook.getSheetAt(0);
        /**
         * 代码中是在for循环之前获取某一行是否为无效数据行,判断是否为空。
         * 然后发现有一些excel导入之后,就在下面的代码报了空指针,实际是不为空的行。
         */
        
        Cell cell = sheet1.getRow(2).getCell(0);
        //下面是业务代码...
    } catch (Exception e) {
    }
    
}`


阅读 13.3k
1 个回答

空指针是在哪里报出来的?如果是取值的话可以试一下String value = sheet.getCell(colIndex, rowIndex).getContents()来取值,excel中的空取出来就是空串""。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题