当前位置: 首页 > 知识库问答 >
问题:

使用单元格引用检查空白单元格

呼延河
2023-03-14

我一直在用POI编写一个代码来将数据输入到Excel表中。首先,我需要遍历一组行,我不确定其中有多少行,可能是10或100行。但我发现末尾有一个空白单元格。在那个空白之后,又有一组行。我不担心第二盘。我需要找到第一盘是否已经结束。

这很让人困惑。现在我有5个用户在我的工作表如下所示。在第5个用户之后有一个空白单元格。我试图打印所有的用户,如果有一个空白停止它。

AAA
BBB
CCC
DDD
EEE

JJJ
String userName;
CellReference ref = null;
Row row;
Cell cell;
do {
    userName = "B" + i;
        ref = new CellReference(userName);
        row = sheet.getRow(ref.getRow());
        cell = row.getCell(ref.getCol());
        System.out.println(cell.getStringCellValue() + "\t" + userName);
        i++;
} while (row != null);
AAA     B4
BBB     B5
CCC     B6
DDD     B7
EEE     B8
Exception in thread "main" java.lang.NullPointerException
    at FinalSheetFillData.main(FinalSheetFillData.java:26)

共有1个答案

太叔富
2023-03-14

您需要检查cellRow值,然后检查System.Out

String userName;
CellReference ref = null;
Row row;
Cell cell;
do {
    userName = "B" + i;
        ref = new CellReference(userName);
        row = sheet.getRow(ref.getRow());
        cell = row.getCell(ref.getCol());
        if(cell.getStringCellValue()!=null){
            System.out.println(cell.getStringCellValue() + "\t" + userName);
        }else{
            System.out.println(" " + "\t" + userName);
        }
        i++;
} while (row != null);
 类似资料:
  • 我试图在一行中获得非空白的单元格数。 与 但对于这两行,我得到的int值都大于表中实际有值的单元格数。这可能是什么原因?单元格格式和/或样式是否有责任? 我还注意到,如果我从excel工作表中删除值(手动,而不是从代码中),poi仍然将它们视为非空(null?),并将它们包含在总数中。 UPD:经过更多的研究,我发现如果我给一个单元格增加价值,然后删除它,那么POI仍然认为它是非空的。有没有办法在

  • 读取文件已支持 windows 系统,版本号大于等于 1.3.4.1; 扩展版本大于等于 1.2.7; PECL 安装时将会提示是否开启读取功能,请键入 yes; 测试数据准备 $config = ['path' => './tests']; $excel = new \Vtiful\Kernel\Excel($config); ​ // 写入测试数据 $filePath = $excel->f

  • 我正在使用Poi.jar从excel表输入,想知道如何检查单元格是否为空。 现在我使用下面的代码。

  • 我正在尝试使用Java中的Apache Poi将一些结果写入excel文件。我将结果存储在String变量中,然后在data.put调用中使用这些变量,前两个可以正常工作,但第三个导致空白单元格。当我打印到system.out.println()时,它显示良好? //创建空白工作簿XSSFWorkbook workbook=new XSSFWorkbook(); 子节点名称:#text 子节点文本

  • 我一直试图创建一个宏来格式化从特定外部源复制的表,问题是,一些单元格似乎从右向左填充,剩余的空间向左填充空格:

  • 目前,我正在探索有关RecyclerView和GridLayoutManager的更多信息,并试图为gallery显示实现一个好看的UI,但我对GridLayoutManager的跨度大小有一些问题。正如文档所述:默认情况下,每个项目占用1个跨度。您可以通过提供自定义GridLayoutManager来更改它。SpanSizeLookup实例,通过setPansizeLookup(SpanSize